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


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”后,保存输入的字符,程序结束运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cpdr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值