JavaSE-1-7 IO流

目录

 

01输入& 输出流

02字节流&字符流

03字符流&FilerWriter

04FilerWriter-细节换行续写

05字符流-FileWriter-IO异常处理

06字符流-FileReader-读取方式

07字符流-FileReader-读取方式2


IO流:

1.处理设备之间数据传输。2.Java对数据处理通过流的方式。3.

Java 用于操作流的对象都在IO包里。4.流按照操作分为两种:字节流,字符流。5.按照流的方向:输入流&输出流  (读写)。

01输入& 输出流

将外界的数据【读】到内存:输入  将内存的数据写入外部设备:输出

 

 

02字节流&字符流

字符流:字节流读取文件数据后,不直接操作而是先查指定的编码表,获取对应文字。字符流=字节流+编码表。

字节流的两个顶层抽象父类:  InputStream  , OutputStream 

字符流的两个顶层抽象父类:Writer ,Reader 

Class FileWriter

  • java.lang.Object
    • java.io.Writer 抽象类
      • java.io.OutputStreamWriter//是字符的桥梁流以字节流,
      • 向其写入的字符编码成使用指定的字节charset 。 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集

      • java.io.FileWriter// 方便课写字符文件
      •  

 

03字符流&FilerWriter

04FilerWriter-细节换行续写

  知识点2.换行与续写   根据系统换行
  private static final String LINE_SEPARATOR = System.getProperty("line.separator");

   fw.write("abcde"+LINE_SEPARATOR+"hahaha");

   文件内容:

     abcde

    hahaha

   
  知识点 3. 怎么续写? 如果构造函数中加入true,可以实现对文件进行续写!
  FileWriter fw = new FileWriter("demo.txt",true);

05字符流-FileWriter-IO异常处理

 

06字符流-FileReader-读取方式

JavaSE-1-7 IO流

07字符流-FileReader-读取方式2

JavaSE-1-7 IO流JavaSE-1-7 IO流

FileReader fr = new FileReader("demo.txt");
        
    

//用Reader中的read方法读取字符。abcde#   # 表示文件结束
int num = fr.read(buf);//将读取到的字符存储到数组中。
        System.out.println(num+":"+new String(buf,0,num));
        int num1 = fr.read(buf);//将读取到的字符存储到数组中。
        System.out.println(num1+":"+new String(buf,0,num1));
        int num2 = fr.read(buf);//将读取到的字符存储到数组中。
        System.out.println(num2+":"+new String(buf));  

 

JavaSE-1-7 IO流 

    /*
         * 使用read(char[])读取文本文件数据。
         *  
         * 先创建字符数组。
         */
        char[] buf = new char[1024];

        int len = 0;
        while((len=fr.read(buf))!=-1){
            System.out.println(new String(buf,0,len));
        }