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

文章目录

  • 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();
	}
	
}

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

如下所示:
【java学习—十三】处理流之三:标准输入输出流(3)_第1张图片

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

你可能感兴趣的:(java学习,java,学习,开发语言)