当前位置: 首页 > 知识库问答 >
问题:

获取复制的文件

汤枫
2023-03-14

我想把文件从一个文件夹复制到子文件夹中,然后重命名文件名,我创建了子文件夹,然后重命名了文件名,这部分是:

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!");
    }}
}

但是我不能将这个重命名的文件复制到新的子文件夹中,它在父目录中重命名了它,而不是旧的文件名,我错在哪里了?

共有1个答案

娄嘉石
2023-03-14

您的错误在“if”行上:

if(f.renameTo(new File(newDir + newName))){

问题是,您引用的文件对象是旧文件f,然后将其重命名到新目录,这不起作用(正如NKukhar所指出的),因为它可能无法按照您的意图复制文件。

 类似资料: