【java学习—十三】处理流之三:标准输入输出流(3)

news2024/11/23 9:03:18

文章目录

  • 1. 相关概念
  • 2. 举例与练习
    • 2.1. 举例
    • 2.2. 练习


1. 相关概念

    System.inSystem.out 分别代表了系统标准的输入和输出设备,默认输入设备是键盘,输出设备是显示器。
    System.in 的类型是 InputStream
    System.out 的类型是 PrintStream ,其是 OutputStream 的子类 FilterOutputStream的子类
    通过 System 类的 setInsetOut 方法对默认设备进行改变。

	public static void setIn(InputStream in)
	public static void setOut(PrintStream out)

2. 举例与练习

2.1. 举例

举例1:

package day13;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * 标准输入和输出流
 * @author 14532
 *
 */
public class Test3 {
	public static void main(String[] args) {
		try {
			Test3.testSystemIn();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	/**
	 * 标准的输入流
	 * @throws Exception
	 */
	public static void testSystemIn() throws Exception {
		//创建一个接收键盘输入数据的输入流
		InputStreamReader is = new InputStreamReader(System.in);
		
		//把输入流放到缓冲流里
		BufferedReader br = new BufferedReader(is);
		
		String str = "";//定义一个临时接收数据的字符串
		
		while((str = br.readLine()) != null) {
			System.out.println(str);
		}


		br.close();
		is.close();
	}
	
}

上面这段代码运行之后,可以在控制台输入任意字符,输入完毕后点击回车键,控制台会输出刚才输入的内容

如下所示:
在这里插入图片描述

2.2. 练习

练习题:
    把控制台输入的内容写到指定的txt文件中,当接收到字符串over,就结束程序的运行。

package day13;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStreamReader;

/**
 * 标准输入和输出流
 * @author 14532
 *
 */
public class Test3 {
	public static void main(String[] args) {
		try {

			Test3.write2TXT();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
			
	/**
	 * 把控制台输入的内容写到指定的txt文件中,当接收到字符串over,就结束程序的运行。
	 */
	public static void write2TXT() throws Exception {
		//创建一个接收键盘输入数据的输入流
		InputStreamReader is = new InputStreamReader(System.in);
		
		//把输入流放到缓冲流里
		BufferedReader br = new BufferedReader(is);
		
		BufferedWriter out = new BufferedWriter(new FileWriter("D:\\java_doc\\eclipse-workspace\\demo\\src\\day13\\tt7.txt"));
		
		String line = "";
		
		while((line = br.readLine()) != null) {
			
			if(line.equals("over")) {
				break;
			}
			//读取的每一行都写到指定的txt文件
			out.write(line);
		}
		
		out.flush();
		out.close();
		br.close();
		is.close();
		
	}
	
}

换行后输入“over”后,保存输入的字符,程序结束运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174395.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMvc从菜鸟到大拿完成蜕变

SpringMvc从菜鸟到大拿完成蜕 介绍 Why springmvc Servlet缺点: servlet中的service:方法一次只能处理一类请求;单拿用户表来说,得需要创建五个Servlet;在url中输入的是urlpattern;默认只访问service方法;如何减少Servlet的个数呢? 增加了一个method参数;其他人有可能会喜欢…

腾讯云CVM S5服务器优惠价格表,买一年送3个月

腾讯云服务器CVM标准型S5有活动,CVM 2核2G S5优惠价280.8元一年自带1M带宽,15个月313.2元、2核4G配置748.2元15个月、4核8G配置1437.24元15个月、8核16G优惠价3048.48元15个月,公网带宽可选1M、3M、5M或10M,腾讯云服务器网txyfwq.…

【算法练习Day39】单词拆分多重背包的介绍

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 单词拆分多重背包总结&…

[BUUCTF NewStar 2023] week5 Crypto/pwn

最后一周几个有难度的题 Crypto last_signin 也是个板子题,不过有些人存的板子没到,所以感觉有难度,毕竟这板子也不是咱自己能写出来的。 给了部分p, p是1024位给了922-101位差两头。 from Crypto.Util.number import * flag b?e 655…

Winform 实现俄罗斯方块游戏(一)

第一步,先用GDI绘制小正方形方块,其它形状的用这个方块合成 如何绘制一个方块?先绘制两个正方形,如下: 然后四周用梯形填充,内部颜色用渐变,这样更有立体感,下篇介绍如何实现。

D-link未授权访问以及远程代码执行

随便输入一个错误密码,会跳转到页面: /page/login/login.html?errorfail继续访问有效页面漏洞url: /Admin.shtml然后访问管理页面去更改管理密码 直接构造payload访问漏洞url: /cgi-bin/execute_cmd.cgi?cmdid执行命令&#…

2023年11月5日网规考试备忘

早上题目回忆: pki体系 ipsec,交换安全(流量抑制) aohdlc bob metclaf —ethernet pon tcp三次握手 OSPF lsa?交换机组ospf配置问题,ping网关可通,AB不通 raid6 300G*8 网络利用率 停等协议10…

腾讯云CVM S5服务器4核8G配置性能测评和优惠价格表

腾讯云4核8G服务器CVM标准型S5实例性能测评,包括CPU型号、内存、系统盘、CVM实例规格性能测评,腾讯云4核8G租用优惠价格表,腾讯云服务器网txyfwq.com分享腾讯云4核8G服务器CVM S5性能测评和优惠价格表: 腾讯云4核8G服务器CVM S5性…

dupeGuru 清理微信重复文件

本文摘录于:https://www.bilibili.com/video/BV13p4y1G75Y/?spm_id_from333.337.search-card.all.click&vd_source483e5c52353ea59d1a5eadac7737591a只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 微信用了七八年,文件…

Java异常你还没有了解吗?

🤷‍♀️🤷‍♀️🤷‍♀️ 今天和大家一起学习一下Java中的异常! 清风的CSDN博客个人主页 🌂c/java领域新星创作者 🎉欢迎👍点赞✍评论❤️收藏 😛😛😛希望我…

【JavaScript】window 对象、location 对象、navigator 对象和 history 对象

1. window 对象 BOM (Browser Object Model ) 是浏览器对象模型: window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的所有通过var定义在全…

【Java 进阶篇】JSP 简单入门

在现代Web开发中,JavaServer Pages(JSP)是一项非常重要的技术。JSP允许开发者将Java代码嵌入HTML页面,以实现动态内容的生成和呈现。本文将详细介绍JSP的概念、原理以及如何使用JSP来构建Web应用程序。 第一部分:JSP …

基于Google Colaboratory安装Go语言编译器操作流程

文章目录 1. 什么是Google Colaboratory2. 访问Google Colaboratory3. 创建新的笔记本4.【方法①】使用apt命令安装golang5.【方法②】使用Go安装包安装golang6. 参考链接 1. 什么是Google Colaboratory Colab是一种托管的笔记本电脑服务,不需要安装即可使用&#x…

Perl安装教程

1. perl简介 Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 “实用报表提取语言”。Perl 是高级、通用、直译式、动态的程序语言。Perl 最初的设计者为拉里沃尔(Larry Wall),于1987年12月18日发表。Perl 借…

PCTA认证考试-01_TiDB数据库架构概述

TiDB 数据库架构概述 一、学习目标 理解 TiDB 数据库整体结构。了解 TiDB Server,TiKV,TiFlash 和 PD 的主要功能。 二、TiDB 体系架构 1. TiDB Server 2. TiKV OLTP 3. Placement Driver 4. TiFlash OLAP OLTPOLAPHTAP

【Go 编程实践】从零到一:创建、测试并发布自己的 Go 库

为什么需要开发自己的 Go 库 在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在 Go 中,包是代码的基本组织单位,每个 Go 程序都由包构成。包的作用是帮助组织代码&#xf…

高等数学教材重难点题型总结(十二)无穷级数

最后一更!原谅博主已经开始瞎写字了,最近压力太大,以后有时间用mathPix打出来,看起来更舒适一些~ 高数最后一章,重点在于审敛法和求解幂级数的收敛半径~ 高数基础笔记全部更新完毕,共12*336期&#xff0c…

【qemu逃逸】华为云2021-qemu_zzz

前言 虚拟机用户名:root 无密码 设备逆向 经过逆向分析,可得实例结构体大致结构如下: 其中 self 指向的是结构体本身,cpu_physical_memory_rw 就是这个函数的函数指针。arr 应该是 PCI 设备类结构体没啥用,就直接用…

动态规划算法实现0-1背包问题Java语言实现

问题介绍: 动态规划算法: 动态规划(Dynamic Programming)是一种解决多阶段决策问题的优化算法。它通过将问题分解为一系列子问题,并利用子问题的解来构建更大规模问题的解,从而实现对整个问题的求解。 动态…

五子棋对战测试报告

目录 一、项目背景 二、项目功能 三、功能测试 1、注册页面测试 测试用例 测试结果 测试总结 2、登录页面测试 测试用例 测试结果 测试总结 3、游戏大厅页面测试 测试用例 测试结果 测试总结 4、游戏房间页面测试 测试用例 测试结果 测试总结 一、项目背景 …