0
点赞
收藏
分享

微信扫一扫

Java笔记 IO流: 标准输入输出流 转换流(InputStreamReader 和 OutputStreamReader)

ZMXQQ233 2022-01-20 阅读 53

标准输入输出流
在这里插入图片描述
标准输入输出流演示代码

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
在这里插入图片描述

举报

相关推荐

0 条评论