美文网首页
No.15 FileReader/FileWrite

No.15 FileReader/FileWrite

作者: 醒着的码者 | 来源:发表于2016-04-10 22:19 被阅读29次

    两者分别为InputStreamReader和OutputStreamWrtier的子类;
    有关InputStreamReader和OutputStreamWrtier移步

    http://www.jianshu.com/writer#/notebooks/3732626/notes/3446668


    FileReader(文件读出流)

    • 构造函数

    1.FileReader (File file);接收一个File对象表示从该对象处读取数据;
    2.FileReader (String name);接受一个文件的字符串地址;

    • 方法

    (1)read()方法继承自InputStreamReader
    1.public int read(),空参数read方法每次从流中读取一个字符长度的数据;返回值是对应字符的编码;
    2.public int read(char[] cbuf, int offset, int length),每次从流中读取length字符长度的数据,存入指定char[]数组总从offset出开始存储;返回值是读取了多少个字符
    3.public int read(char[] cbuf)返回值是读取了多少个字符
    (2)String getEncoding() 返回正在读取的流中的编码形式
    (3)注意:需要关闭输出流

    • 例子

            // 第一步指定输入流位置
        File file = new File("d:\\text.txt");//hello java!
        //建立文件输入流
        FileReader input = new FileReader(file);
        long length = file.length();
        char[] c =new char[(int)length];
        //循环读取
        int len = 0;        
        while((len = input.read() ) != -1){
            System.out.print(len + ",");//104,97,108,108,111,32,106,97,118,97,33,
        }
        //while((len = input.read(c)) != -1){
      

      // System.out.println(len);//11
      // }
      input.close();

    注意同一个文件在一个程序只能读取一次,不是因为len被置为-1了,而是流指针已经到了流的最后。即read()返回的值已经为-1;除非你再见立一条流来读取。


    FileWriter

    • 构造函数

    1.FileWriter (File file);接收一个File对象表示从往该文件处写数据;
    2.FileWriter (File file,Boolean append);append为true时候在文件结尾处接着写入。
    3.FileWriter (String name);接收一个文件的字符串地址;
    4.FileWriter (String name,Boolean append);同2.

    • 方法

    (1)write():
    1.public void write(int c);//c是指定Unicode编码中字符对应的整数值
    2.public void write(char[] cbuf,int off, int len);
    3.public void write(String str, int off, int len);
    4.public void write(String str);//字符流相比于字节流可以直接写入字符串

    • 例子
      // 第一步指定输入流位置
      File file = new File("d:\text1.txt");//hello java!
      //建立文件输入流
      FileWriter fw = new FileWriter(file,true);
      String str = "hello android!!!!!";
      //写入数据
      fw.write(str);
      fw.write(111);
      fw.close();

    相关文章

      网友评论

          本文标题:No.15 FileReader/FileWrite

          本文链接:https://www.haomeiwen.com/subject/ndfulttx.html