• IO流之字符流


    字符输入流Reader

    同使用其子类FileReader

    构造方法也与字节流相同

     单个字符读

    1         //明确数据源
    2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
    3         //单个字符读
    4         int len = 0;
    5         while((len = fr.read()) != -1){
    6             System.out.println((char)len);
    7         }
    8         //释放资源
    9         fr.close();

    单个字符数组读

    1         //明确数据源
    2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
    3         //按字符数组读
    4         char[] ch = new char[1024];
    5         int len = 0;
    6         while((len = fr.read(ch)) != -1){
    7             System.out.println(new String(ch,0,len));
    8         }
    9         fr.close();

     

    字符输出流Writer

    使用其子类FileWriter

    构造方法也相同

    单个字符/单个字符数组输出

     1         //明确目的地
     2         FileWriter fw = new FileWriter("D:\io0429\demo02.txt");
     3         //写入一个字符
     4         fw.write(100);
     5         fw.flush();
     6         //写入一个字符数组
     7         char[] ch = {'你','a','0','好'};
     8         fw.write(ch);
     9         fw.flush();
    10         fw.write(ch,1,2);
    11         fw.flush();
    12         fw.write("海绵宝宝");
    13         fw.flush();
    14         fw.write("派大星",0,1);
    15         //释放资源
    16         fw.close();

    字符复制文件练习

     1         //单个字符复制
     2         //明确数据源
     3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
     4         //明确目的地
     5         FileWriter fw = new FileWriter("D:\io0429\hello\demo03.txt");
     6         int len = 0;
     7         while((len = fr.read()) != -1){
     8             fw.write(len);
     9             fw.flush();
    10         }
    11         //释放资源
    12         fw.close();
    13         fr.close();
     1         //单个字符数组复制
     2         //明确数据源
     3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
     4         //明确目的地
     5         FileWriter fw = new FileWriter("D:\io0429\copy.txt");
     6         char[] ch = new char[1024];
     7         int len = 0;
     8         while((len = fr.read(ch)) != -1){
     9             fw.write(ch,0,len);
    10             fw.flush();
    11         }
    12         //释放资源
    13         fw.close();
    14         fr.close();

    总结下来,字符与字节的使用方法基本相同,那他的区别在什么地方?

    区别就在于,当你传输图片或视频的类似文件时,因其内部是有字节编码组成,所以只有使用字节操作才能使用。而字符操作文本文档类似文件,效率会更高。

  • 相关阅读:
    DroidParts 中文系列教程(基于官方教程)
    IDEA添加其他项目为库文件的方法
    IDEA 部署项目的时候出错:Jar not loaded错误
    解决IDEA导入Myclipse项目的时候没有识别为Web项目的问题
    IDEA中安装及配置SVN
    VirtualBox下设置 XP虚拟机桥接模式
    主机上设置共享文件夹供虚拟机访问
    JS的splice()方法在for循环中使用可能会遇到的坑
    Eclipse优化
    State Design Pattern
  • 原文地址:https://www.cnblogs.com/shenhx666/p/15060629.html
Copyright © 2020-2023  润新知