J2SE视频笔记(16)

J2SE视频笔记(16)

字符流

  • 是以字符为单位的,当然也和前面那个字节流十分相像。
  • 字符输入流Reader是抽象类,不能实例化,所以我们用FileReader

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.Reader;
    public class Demo1 {
    public static void main(String[] args) throws Exception {
    File file=new File("F://tmp.txt");
    Reader reader=new FileReader(file);
    char c[]=new char[1024]; // 字符数组
    reader.read(c); // 把内容从reader中读出来然后写到字符数组c中去
    reader.close();
    String ss=new String(c);
    System.out.println("读取的内容是:"+ss);
    }
    }
  • 然后是第二种版本,也就修改了一些。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.Reader;
    public class Demo2 {
    public static void main(String[] args) throws Exception {
    File file=new File("F://tmp.txt");
    Reader reader=new FileReader(file);
    // 求出文件的长度
    int fileLength=(int)file.length();
    char c[]=new char[fileLength];
    int len=0;
    int t=0;
    // 一个字符一个字符的读入
    while((t=reader.read())!=-1){
    c[len++]=(char)t; // 这里要注意强制转化
    }
    reader.close();
    String ss=new String(c);
    System.out.println("读取的内容是:"+ss);
    }
    }
  • 字符输出流

  • 同样的,因为Writer是抽象类,所以我们使用FileWriter()。
  • 还有一个实现文件追加的问题,已经注释在代码中了,主要就是在创建FileWriter时后面加上一个true即可。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.Reader;
    import java.io.Writer;
    public class Demo3 {
    public static void main(String[] args) throws Exception {
    File file=new File("F://tmp.txt");
    // 如果要让新写进去的字符流能够不覆盖原先的部分的话,那么要在下面的file后面加上true,默认是false
    Writer out=new FileWriter(file,true);
    String str="我爱中国!";
    out.write(str);
    out.close();
    }
    }

J2SE终于全部看完啦~~哈哈哈 接下来继续往后学习,加油!!!

热评文章