标准输入输出流
标准输入输出流演示代码
public class ObjectInputStream_{
public static void main(String[] args){
// System 类的 public final static InputStream in = null;
// System.in 编译类型 InputStream
// System.in 运行类型 BufferedInputStream
// 表示的是标准输入 键盘
System.out.println(System.in.getClass()); //class java.io.BufferedInputStream
//解读
//1. System.out public final static PrintStream out = null;
//2. 编译类型 PrintStream
//3. 运行类型 PrintStream
//4. 表示标准输出 显示器
System.out.println(System.out.getClass()); //class java.io.PrintStream
Scanner scanner = new Scanner(System.in);
System.out.println("输入内容");
String next = scanner.next();
System.out.println("next=" + next);
}
}
代码运行结果
乱码引出转换流(tranformation)
//看一个中文乱码的问题
public class ObjectInputStream_{
public static void main(String[] args) throws IOException{
// 读取e:\\a.txt 文件到程序
// 思路:
// 1. 创建字符输入流 BufferedReader[处理流]
// 2. 使用 BufferedReader 对象读取a.txt
String filePath = "e:\\a.txt";
// IO流最难是要知道什么时候用什么流
BufferedReader br = new BufferedReader(new FileReader(filePath));
String s = br.readLine();
System.out.println("读取到的内容= " + s);
br.close();
}
}
如果读取的不是UTF-8,而是其他码例如GBK码,那么就会乱码,如下图
这时我们就需要转换流帮助我们解决这个问题.
转换流处理问题代码
转换流(InputStreamReader 和 OutputStreamReader)
以下包装就是转换的意思
InputStreamReader
OutputStreamReader