【发布时间】:2014-09-08 10:44:07
【问题描述】:
我正在尝试将给定目录中的所有文件重命名为大写。它做了整个事情,但它没有做任何事情文件夹中的文件名仍然相同。
import java.io.File;
import java.io.IOException;
public class FileOps {
public static void main(String[] argv) throws IOException {
File folder = new File(
"C:\\Users\\N\\Desktop\\New folder\\RenamingFiles\\src\\renaming\\Files");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
File f = new File(
"C:\\Users\\N\\Desktop\\New folder\\RenamingFiles\\src\\renaming\\Files"
+ listOfFiles[i].getName());
f.renameTo(new File(
"C:\\Users\\N\\Desktop\\New folder\\RenamingFiles\\src\\renaming\\Files"
+ listOfFiles[i].getName().toUpperCase()
+ ".txt"));
}
}
System.out.println("Done");
}
}
它在控制台中打印“完成”,但实际上什么也没做
【问题讨论】:
-
目录中不是这样的文件,所以可能真的是因为我使用的是Windows 8的操作系统
-
Windows 对于只修改大小写的重命名可能会很有趣。尝试将它们完全重命名为其他名称(例如,在开头添加一个 _),然后将它们重命名为更改大小写。 (显然,您需要处理已经存在名为 _x 的文件的情况)
-
您可以尝试移动这些文件,而不是重命名。它对我有用。 docs.oracle.com/javase/tutorial/essential/io/move.html