我想要java中的file.renameTo的所有功能,但没有删除源文件。 例如: 假设我有一个文件report.doc,我想创建文件report.xml而不删除report.doc。此外,两个文件的内容应该相同。 (一份简单的副本) 我该怎么做呢?
我知道这可能是微不足道的,但是一些基本的搜索并没有帮助。
答案 0 :(得分:3)
答案 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的答案了解更多