java随笔

IO 文本读写本地

2017-06-13  本文已影响8人  71150ce14a00

FileWriter:
构造方法:
FileWriter(String fileName); 传入一个文件路径成员方法
FileWriter(String fileName, boolean append): 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。

 其他方法:
                void   write(String str) 向文件中写入字符串
                void   flush()  将内存中的数据刷新到文件/硬盘上 
                void   close()  关流释放系统底层资源

  写入方法:
                  void   write(String str) 向文件中写入字符串
                  void   write(String str,int index, int len): 写一个字符串中的一部分数据
                  void   write(int ch): 写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值 ‘a’= 97
                  void   write(char[] chs): 写一个字符数组数据
                  void   write(char[][ chs,int index, int len): 写一个字符数组的一部分数据

      注意: 换行写入: windows: \r\n     linux: \n     mac:\r
                  路径选择:如果用\反斜线则需要写两个\\ , 转义字符,正则表达式
                                    如果用/ 反斜线,只需要写一个即可, 

close() 和 flush() 方法区别
flush():刷新缓冲区, 实时写入
close():先刷新缓冲区,然后释放资源

FileReader:

             构造方法:

                            FileReader(String fileName);  
                     
           其他方法:
                    int  read()  一次读取一个字符,返回的是int类型的字符
                    int  read(char[] char):  一次读取一个字符数组的数据,返回的是实际读取的字符个数

BufferedWriter :
优点:将文本写入字符输出流,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入
构造方法:
BufferedWriter(Writer out): 创建一个使用默认大小输出缓冲区的缓冲字符输出流
BufferedWriter(Writer out, int sz) :
BufferedReader br = new BufferedReader(new FileReader( "FileWriterDemo.java" ));

           其他方法:
                          void newLine(): 写一个换行符, 这个换行符由系统决定

BufferedReader:
从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组和行的高效读取
BufferedReader br = new BufferedReader(new FileReader( "br.txt"));

     其他方法:
                String readLine(): 一次读取一样数据,但不读取换行符

//缓冲流一次读写一个字符串
public static void method5(String srcFileName,String destFileName) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(srcFileName));
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));

          //一次读写一个字符串
         String line;
          while((line =br .readLine())!=null){
                 bw.write( line);
                 bw.newLine();
                 bw.flush();
         }
         
          //释放资源
          bw.close();
          br.close();
   }
   
    //缓冲流一次读写一个字符数组
    public static void method4(String srcFileName,String destFileName) throws IOException {
          //创建输入缓冲流对象
         BufferedReader br = new BufferedReader(new FileReader(srcFileName));
          //创建输出缓冲流对象
         BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
         
          //一次读写一个字符数组
          char[] chs = new char[1024];
          int len ;
          while((len =br .read(chs ))!=-1) {
                 bw.write( chs,0, len);
         }
         
          //释放资源
          bw.close();
          br.close();
   }
   
    //缓冲流一次读写一个字符
    public static void method3(String srcFileName,String destFileName) throws IOException {
          //创建输入缓冲流对象
         BufferedReader br = new BufferedReader(new FileReader(srcFileName));
          //创建输出缓冲流对象
         BufferedWriter bw = new BufferedWriter(new FileWriter(destFileName));
         
          //一次读写一个字符
          int ch ;
          while((ch =br .read())!=-1) {
                 bw.write( ch);
         }
         
          //释放资源
          bw.close();
          br.close();
   }
   
    //基本流一次读写一个字符数组
    public static void method2(String srcFileName,String destFileName) throws IOException {
          //创建输入流对象
         FileReader fr = new FileReader(srcFileName );
          //创建输出流对象
         FileWriter fw = new FileWriter(destFileName );
         
          //一次读写一个字符数组
          char[] chs = new char[1024];
          int len ;
          while((len =fr .read(chs ))!=-1) {
                 fw.write( chs,0, len);
         }
         
          //释放资源
          fw.close();
          fr.close();
   }
   
    //基本流一次读写一个字符
    public static void method1(String srcFileName,String destFileName) throws IOException {
          //创建输入流对象
         FileReader fr = new FileReader(srcFileName );
          //创建输出流对象
         FileWriter fw = new FileWriter(destFileName );
         
          //一次读写一个字符
          int ch ;
          while((ch =fr .read())!=-1) {
                 fw.write( ch);
         }
         
          //释放资源
          fw.close();
          fr.close();
   }

}

上一篇下一篇

猜你喜欢

热点阅读