一、标准输入输出流:
(一)public static final InputStream in:字节输入流,用来读取键盘录入数据
InputStream is = System.in;
Scanner sc = new Scanner(System.in);
(二)public static final PrintStream out:字节输出流,将数据输出到命令行
System.out.println();
例子:读取项目根目录下的1.java,并输出到命令行
BufferedReader br = new BufferedReader(new FileReader("1.java"));//BufferedReader是包装类并不能读取数据
OutputStream os = System.out;
String line;
while((line = br.readLine())!=null){
os.write(line.getBytes());
os.writer("\r\n".getBytes());
}
os.close();
br.close();
由于标准输出流是一个字节输出流,所以只能输出字节或者字节数组,但好似我们读取到的数据则是字符串,如果想进行输出还需要转换成字节数组。如果想要通过标准输出流输出字符串,把准输出流转换成一种字符输出流即可,OutputStreamWriter,是字节流通向字符流的桥梁。
BufferedReader br = new BufferedReader(new FileReader("1.java"));//BufferedReader是包装类并不能读取数据
Writer w = new OutputStreamWriter(System.out);//多态,父类引用指向子类
BufferedWriter bw = new BufferedWriter(w);
String line;
while((line = br.readLine())!=null){
bw.write(line);
bw.newLine();
}
os.close();
br.close();
BufferedReader\BufferedWriter包装类
OutputStreamWriter(OutputStream)转换流
InputStreamReader(InputStream is)转换流原理如上
网友评论