Java_基础—标准输入输出流概述和输出语句

时间:2021-10-30 19:28:54
package com.soar.otherio;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;

public class Demo6_SystemInOut {
/*
****1.什么是标准输入输出流
* System.in是InputStream, 标准输入流, 默认可以从键盘输入读取字节数据
* System.out是PrintStream, 标准输出流, 默认可以向Console中输出字符和字节数据
****2.修改标准输入输出流
* 修改输入流: System.setIn(InputStream)
* 修改输出流: System.setOut(PrintStream)
*/

public static void main(String[] args) throws IOException {
//inputStream();
System.setIn(new FileInputStream("a.txt")); //改变标准输入流
System.setOut(new PrintStream("b.txt")); //改变标准输出流

InputStream is = System.in; //获取标准的键盘输入流,默认指向键盘,改变后指向文件
PrintStream ps = System.out; //获取标准的输出流,默认指向的是控制台,改变后就指向文件

int b;
while((b = is.read()) != -1){
ps.write(b);
}

//System.out.println(); //也是一个输出流,不用关,因为没有和硬盘上关联的文件产生管道
is.close();
ps.close();
}

private static void inputStream() throws IOException {
InputStream is = System.in;
int x = is.read();
System.out.println(x);

is.close();

InputStream is2 = System.in;
int y = is.read();
System.out.println(y); //IOException: Stream closed
}

}