一、目录
- 标准输入输出流
- 转换流介绍
- 打印流介绍
System.in 标准输入,属于InputStream类型,默认设备为键盘。 System.out 标准输出,属于PrintStream类型,默认设备为显示器。
package com.javaStandard;
import java.util.Scanner;
public class JavaStandardInputAndOutput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please input info:");
String next = scanner.next();
System.out.println("The info u input is: " + next);
}
}
output:
Please input info:
hello
The info u input is: hello
三、转换流介绍
转换流的作用就是把字节流转换成字符流。
BufferedReader字符流在读取文件时,默认是按照UTF-8的格式读取,如果文件不是UTF-8格式,那么就会产生乱码,这时候就需要用到转换流。
介绍:
- InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流)。
- OutputStreamReader:Writer的子类,可以将OutputStream(字节流)包装成Writer(字符流)。
- 当处理纯文本数据时,如果使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换成字符流。
- 可以在使用时指定编码格式(比如uft-8、gbk、gb2312等)。
打印流有PrintStream和PrintWriter。 打印流只有输出流,没有输入流。
默认情况下,PrintStream时标准输出,即默认打印在显示器上。
package com.javaPrintStream;
import java.io.PrintStream;
public class JavaPrintStream {
public static void main(String[] args) {
PrintStream ps = System.out;
ps.println("hello");
ps.close();
}
}
因为print底层使用的是write,所以我们可以直接调用write进行打印/输出。
ps.write("hello".getBytes());
修改打印流默认的打印位置,修改成打印到文件:
System.setOut(new PrintStream("E:\\code\\java\\code\\x.txt"));System.out.println("uyuuuuu");