• java 21


    需求:复制文本文件
    分析:
      由于文本文件我们用记事本打开后可以读懂,所以使用字符流。
      而字符流有5种复制的方式:


    首先写main方法

     1     public static void main(String[] args) throws IOException {
     2         // 数据源
     3         String startfile = "C:\Users\Administrator\Desktop\新建文件夹\start.txt";
     4         // 目的地
     5         String endfile = "C:\Users\Administrator\Desktop\新建文件夹\end.txt";
     6         
     7         //method1(startfile,endfile);
     8         //method2(startfile,endfile);
     9         //method3(startfile,endfile);
    10         //method4(startfile,endfile);
    11         method5(startfile,endfile);
    12 
    13     }

    第一种方式:基本字符流一次读取一个字符

     1     private static void method1(String startfile,String endfile) throws IOException {
     2         // 基本字符流一次读写一个字符
     3         //封装数据源
     4         FileReader fr = new FileReader(startfile);
     5         //封装目的地
     6         FileWriter fw = new FileWriter(endfile);
     7         
     8         //一次读写一个字符
     9         int ch = 0;
    10         while((ch = fr.read()) != -1){
    11             fw.write(ch);
    12         }
    13         //释放资源
    14         fr.close();
    15         fw.close();
    16     }

    第二种方式:基本字符流一次读取一个字符数组

     1     private static void method2(String startfile, String endfile) throws IOException {
     2         // 基本字符流一次读写一个字符数组
     3         FileReader fr = new FileReader(startfile);
     4         FileWriter fw = new FileWriter(endfile);
     5         
     6         char[] ch = new char[1024];
     7         int len = 0;
     8         while((len = fr.read(ch)) != -1){
     9             fw.write(ch,0,len);//这里需要注意
    10         }
    11         fr.close();
    12         fw.close();
    13     }

    第三种方式:缓冲字符流一次读取一个字符

     1     private static void method3(String startfile, String endfile) throws IOException{
     2         // 字符缓冲流一次读取一个字符
     3         BufferedReader br = new BufferedReader(new FileReader(startfile));
     4         BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
     5         int ch = 0;
     6         while((ch = br.read()) != -1){
     7             bw.write(ch);
     8         }
     9         br.close();
    10         bw.close();
    11         
    12     }

    第四种方式:缓冲字符流一次读取一个字符数组

     1     private static void method4(String startfile, String endfile) throws IOException {
     2         // 字符缓冲流一次读取一个字符数组
     3         BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
     4         BufferedReader br = new BufferedReader(new FileReader(startfile));
     5         char[] ch = new char[1024];
     6         int len = 0;
     7         while((len = br.read(ch)) != -1){
     8             bw.write(ch,0,len);
     9         }
    10         br.close();
    11         bw.close();
    12         
    13     }

    第五种方式:缓冲字符流一次读取一个字符串(熟练掌握)

        private static void method5(String startfile, String endfile) throws IOException {
            // 字符缓冲流一次读取一个字符串
            BufferedReader br = new BufferedReader(new FileReader(startfile));
            BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
            String line = null;
            while((line = br.readLine()) != null){
                bw.write(line);
                bw.newLine();
            
            }
                br.close();
                bw.close();
                
        }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    Java高并发8-计算机内存模式以及volatile,sychronized工作原理
    Java高并发7-inheritableThreadLocal实现父子线程变量同步原理
    Java高并发6-ThreadLocal内部各种方法实现原理
    Java高并发5-守护线程、ThreadLocal和死锁四个必要条件
    Java高并发4-解析volatile关键字
    AQS详解,并发编程的半壁江山
    Java 调用File的delete方法删除文件返回false
    Java 将文件夹打成压缩包 zip
    前端 文件夹上传 解决方案
    ORA-00904: "FILED_TYPE": 标识符无效
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5926411.html
Copyright © 2020-2023  润新知