Java面试题集锦05—输入 / 输出流

22.写一个复制文件的程序

本题目的设计思路可以有以下几个步骤

  1. 用被复制的文件的路径创建一个InputStream对象

  2. 用复制文件的新路径创建一个OutputStream对象

  3. 用read()方法循环把数据读到一个byte数组中,直到读出的数据的长度小于0

  4. 用write()方法把byte数组中得字节写入输出流

  5. 最后关闭输出流和输入流

    public class FileCopy {
    public static void main(String[] args) throws IOException {
    //生成输入文件的输入流对象
    FileInputStream fin = new FileInputStream("d:/test/a.txt");
    //生成输出文件的输出流对象
    FileOutputStream fout = new FileOutputStream("d:/test/b.txt");
    //定义一个永固暂存数据的byte数组
    byte[ ] buff = new byte[256];
    //定义每次读取数据的长度len
    int len = 0;
    //循环读取到buff中,如果文件到底,则读取数据的长度小于0
    while((len = fin.read(buff)) > 0) {
    //把数据一次写进输出文件中
    fout.write(buff, 0, len);
    }
    fin.close();
    fout.close();
    }
    }

你可能感兴趣的:(Java面试题集锦05—输入 / 输出流)