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

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

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

标准输入输出流

标准输入输出流演示代码

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5706906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存