字符串fileOne = "C:/1236.pdf";
字符串fileTwo = "C:/22.pdf";
字符串mergedFileLocation = "C:/myMergedData.pdf";
if (新文件(MergedFileLocation).renameTo(新文件(FileOne){
// rename rename { // rename已失败}
合并完成后
重命名现有文件
所以我需要先删除fileOne,然后我想我需要重命名
我需要重命名并将mergedFileLocation替换为fileOne
即myMergedData.pdf to 1236.pdf
发布于 2011-07-07 11:50:44
先删除旧文件。
File f = new File(fileOne);
if (f.delete() && new File(mergedFileLocation).renameTo(f)) {
//successfully renamed
}
发布于 2011-07-07 11:44:01
使用已经存在的文件名重命名文件的尝试将失败。您必须先删除或重命名旧文件。
public static void main(String[] args) throws IOException {
File workingDir = new File(".");
File fileOne = new File("1236.pdf");
File mergedFile = new File("myMergedData.pdf");
fileOne.createNewFile();
mergedFile.createNewFile();
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".pdf");
}
};
String[] list = workingDir.list(filter);
System.err.println(Arrays.asList(list));
if (fileOne.isFile()) {
// delete or rename
if (fileOne.delete()) {
// deleted successfully
}
}
list = workingDir.list(filter);
System.err.println(Arrays.asList(list));
if (mergedFile.renameTo(fileOne)) {
// renamed successfully
} else {
// rename failed
}
list = workingDir.list(filter);
System.err.println(Arrays.asList(list));
}
输出是
[1236.pdf, myMergedData.pdf]
[myMergedData.pdf]
[1236.pdf]
https://stackoverflow.com/questions/6609966
复制相似问题