Java--IO处理(标准输入流和标准输出流,转换流,打印流)

标准输入流和标准输出流
  1. System.in
    • 编译类型:InputStream
    • 运行类型: BufferedInputStream
  2. System.out
    • 编译类型: PrintStream
    • 运行类型: PrintStream
转换流
  1. BufferedReaderBufferedWriter

    • BufferedReader读取文件,读取文件是按照UTF-8进行读取的
            String filePath = "d:\\a.txt";
            BufferedReader br = new BufferedReader(new FileReader(filePath));
    
            String s = br.readLine();
            System.out.println(s);
            br.close();
    
    • 转换流可以将指定方式的字节流转换为字符流。
  2. InputStreamReader: Reader的子类,可以将InputStream(字节流)转换为Reader。

  3. OutputStreamWriter: Writer的子类,实现将OutputStream转换为Writer。

  4. 当处理纯文本数据时,使用字符流效率更高,并且可以有效解决中文问题,所以建议将字节流转换为字符流。

  5. 可以使用指定编码格式(UTF-8 GBK …)

  6. 通过转换流可以实现自定义编码,从而解决乱码问题

            String path = "d:\\a.txt";
           //先创建转换流,并且在创建的时候直接定义编码格式
            InputStreamReader is = new InputStreamReader(new FileInputStream(path),"gbk");
           //缓冲流接收转换流
            BufferedReader br = new BufferedReader(is);
    
            String s = br.readLine();
            System.out.println(s);
            br.close();
    
打印流
  1. 打印流只有输出,没有输入。

  2. printStream printWriter

  3. 可以通过setOut()方法来修改输出位置。

            PrintStream out = System.out;
            //默认情况下,输出数据的位置是显示器
            out.print("hello");
            out.write("dasa".getBytes());//相当于print的底册代码
            //修改打印流输出的位置 通过
            System.setOut(new PrintStream("d:\\bbb.txt"));
            System.out.println("hello,高世龙");
            out.close();
    
            PrintWriter writer = new PrintWriter(System.out);
            PrintWriter printWriter = new PrintWriter(new FileWriter("d:\\ccc.txt"));
            printWriter.println("高世龙");
            writer.println("你好");
            writer.close();
            printWriter.close();
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值