标准输入输出流
1、分类
标准输入流介绍:
System.in:该流的类型为InputStream,属于是字节流,默认关联的设备为键盘,即数据源为键盘
使用转换流可以包装成字符流,使用BufferedReader可以包装成缓冲流
通过System.setIn(InputStream in),可以更改标准输入流关联的设备
该流对象不需要关闭
标准输出流介绍:
System.out:该流的类型为PrintStream,属于字节流,是打印流。
默认关联的设置是控制台,即可以将数据直接写到控制台显示
通过System.setOut(OutputStream out),可以更改标准输出流关联的设备
2、案例
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Demo5 {
public static void main(String[] args) throws Exception{
InputStream inputStream = System.in;//此时这个流默认关联到键盘
//改变关联设备
FileInputStream fileInputStream = new FileInputStream("test.txt");
System.setIn(fileInputStream);// 更改了 输入设备 需要重新赋值
inputStream = System.in;
// int data;
// while ((data = inputStream.read())!=-1){
// System.out.print((char) data);
// }
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
int data;
while ((data = inputStreamReader.read())!=-1){
System.out.print((char)data);
}
}
}
//案例2:
import java.io.*;
public class Demo5 {
public static void main(String[] args) throws Exception{
String data = "asaglfdkjgkjdsgfjdsjfjf";
//更改输出设备
System.setOut(new PrintStream(new FileOutputStream("a.txt")));
PrintStream printStream = System.out;//默认关联到控制台
printStream.print(data);
}
}