如何在java中的同一目录中创建文件的副本?

时间:2010-01-11 10:28:08

标签: java file

我想要java中的file.renameTo的所有功能,但没有删除源文件。 例如: 假设我有一个文件report.doc,我想创建文件report.xml而不删除report.doc。此外,两个文件的内容应该相同。 (一份简单的副本) 我该怎么做呢?

我知道这可能是微不足道的,但是一些基本的搜索并没有帮助。

2 个答案:

答案 0 :(得分:3)

对于文件系统操作Apache Commons IO提供了有用的快捷方式。

请参阅:

答案 1 :(得分:1)

您可以使用与原始内容相同的内容创建新文件 使用java NIO(Java 1.4或更高版本):

private static void copy(File source, File destination) throws IOException {
    long length = source.length();
    FileChannel input = new FileInputStream(source).getChannel();
    try {
        FileChannel output = new FileOutputStream(destination).getChannel();
        try {
            for (long position = 0; position < length; ) {
                position += input.transferTo(position, length-position, output);
            }
        } finally {
            output.close();
        }
    } finally {
        input.close();
    }
}

查看此question的答案了解更多