我想将文件从一个文件夹复制到子文件夹,然后重命名文件名,我创建了子文件夹并重命名了文件名,这部分:
for (int i = 0; i < list.length; i++) {
String oldDir = path2;
String oldName = list[i].toString();
String newDir =oldDir+"\\sub";
File pDir = new File(newDir);
pDir.mkdir();
String fileName = new SimpleDateFormat("MM-dd-yyyy_HH-mm-ss")
.format(new Date());
String newName = fileName+"_"+list[i].getName();
File f = new File (oldDir, list[i].getName());
if(f.renameTo(new File(newDir + newName))){
System.out.println("File is moved successful!");
}else{
System.out.println("File is failed to move!");
}}
}
但是我无法将这个重命名的文件复制到新的子文件夹中,它在父目录中重命名它而不是旧文件名,我在哪里弄错了?
最佳答案
你的错误在'if'行:
if(f.renameTo(new File(newDir + newName))){
问题是您引用的是旧文件 f 的文件对象,然后将其重命名为新目录,这不起作用(如 NKukhar 指出的那样),因为它可能无法按您的意图复制文件.
关于java - 获取复制的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194869/