IO流之复制文件的五种方式(读取一个字符,读取一个字符数组,缓冲流读取一个字符,读取一个字符数组,读取一行)

本文介绍了一种使用Java实现文件复制的方法,通过五种不同的方式展示了如何从一个文件读取内容并将其写入另一个文件中。这些方法包括直接使用FileReader和FileWriter、利用字符数组进行缓冲读取、使用BufferedReader和BufferedWriter提高效率以及按行读取文件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package IOliu.DemoCopyFive;

import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import java.io.*;

public class    DemoTest {
    static String srcFileName="F:\\untitledxuexi\\src\\IOliu\\DemoCopyFive\\DemoTest.java";
    static String desFileName="F:\\untitledxuexi\\src\\IOliu\\DemoCopyFive\\DemoCopy.txt";

    public static void main(String[] args) throws IOException{
      method1();
      method2();
      method3();
      method4();
      method5();

    }
    public static void method1() throws IOException{
        FileReader fr=new FileReader(srcFileName);
        FileWriter fw=new FileWriter(desFileName);
        int ch;
        while ((ch=fr.read())!=-1){
            fw.write(ch);
        }
        fw.close();
        fw.close();
    }
    public static void method2() throws IOException{
        FileReader fr=new FileReader(srcFileName);
        FileWriter fw=new FileWriter(desFileName);
        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 method3() throws IOException{
        FileReader fr=new FileReader(srcFileName);
        FileWriter fw=new FileWriter(desFileName);
        BufferedReader br=new BufferedReader(fr);
        BufferedWriter bw=new BufferedWriter(fw);
        int ch;
        while ((ch=br.read())!=-1){
            bw.write(ch);
        }
        br.close();
        bw.close();
        fw.close();
        fr.close();

    }
    public static void method4() throws IOException{
        FileReader fr=new FileReader(srcFileName);
        FileWriter fw=new FileWriter(desFileName);
        BufferedReader br=new BufferedReader(fr);
        BufferedWriter bw=new BufferedWriter(fw);
        char chs[]=new char[1024];
        int len;
        while ((len=br.read(chs))!=-1){
            bw.write(chs,0,len);
        }
        br.close();
        bw.close();
        fw.close();
        fr.close();

    }
    public static void method5() throws IOException{
        FileReader fr=new FileReader(srcFileName);
        FileWriter fw=new FileWriter(desFileName);
        BufferedReader br=new BufferedReader(fr);
        BufferedWriter bw=new BufferedWriter(fw);
        String stu;
        while ((stu=br.readLine())!=null){
            bw.write(stu);
            bw.newLine();
            bw.flush();
        }
        bw.close();
        br.close();
        fr.close();
        fw.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值