如何使用java动态地将文件从一个位置复制到另一个位置

时间:2017-05-26 10:12:57

标签: java file

我们正在尝试将文件从一个位置复制到另一个位置。我们成功将文件从一个位置移动到另一个位置。但是,我想仅将特定文件动态复制到另一个位置。

org.apache.hadoop.io.Writable

如果有人有样品,请提供给我......

2 个答案:

答案 0 :(得分:1)

我会创建一个byte []缓冲区,将第一个文件内容读入缓冲区。然后创建第二个文件new File()为它提供你想要的路径,并将缓冲的数据输入到新文件中。

private static void copyFileUsingStream(File source, File dest) throws IOException {
    InputStream is = null;
    OutputStream os = null;
    try {
        is = new FileInputStream(source);
        os = new FileOutputStream(dest);
        byte[] buffer = new byte[1024];
        int length;
        while ((length = is.read(buffer)) > 0) {
            os.write(buffer, 0, length);
        }
    } finally {
        is.close();
        os.close();
    }
}

编辑:家庭作业应该进入称为缓冲区的字节数组的大小。 1024是标准的,但您可以调整值!

答案 1 :(得分:0)

结帐Apache Commons IO

它有一些很好的实用程序方法,用于检查FileUtils中的相等和复制文件和目录。

如果整个lib应该是矫枉过正的,请查看FileUtils-Class via grepcode:)