Dotcpp  /  试卷列表  /  Java  /  题目 8083

利用字节流和字符流操作分别完成文件的复制

利用字节流和字符流操作分别完成文件的复制

答案
import java.io.*;

public class FileCopy {
    public static void main(String[] args) {
        String src = "source.txt";
        String dest1 = "copy1.txt";
        String dest2 = "copy2.txt";

        copyByByte(src, dest1);
        copyByChar(src, dest2);
    }

    // 字节流复制文件
    public static void copyByByte(String src, String dest) {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream(src);
            fos = new FileOutputStream(dest);
            int b;
            while ((b = fis.read()) != -1) {
                fos.write(b);
            }
            System.out.println("字节流复制完成:" + dest);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) fis.close();
                if (fos != null) fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    // 字符流复制文件
    public static void copyByChar(String src, String dest) {
        FileReader fr = null;
        FileWriter fw = null;
        try {
            fr = new FileReader(src);
            fw = new FileWriter(dest);
            int c;
            while ((c = fr.read()) != -1) {
                fw.write(c);
            }
            System.out.println("字符流复制完成:" + dest);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fr != null) fr.close();
                if (fw != null) fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

题目信息

题号:8083
题型:简答题
知识点:Java
难度:普通