0

当我尝试使用已存在的文件名保存文件时,我需要提示用户重命名文件才能保存。提示用户将文件重命名为目录中存在相同文件的更好方法是什么?我需要通过我用来保存文件的同一个对话框来实现这一点。

File exportFile = new File(FilePath + "\\"+ FileName);
boolean exists = exportFile.exists();  

if (!exists) {  

    System.out.println("File does not exists");  
    // TODO code here             
}
else{  

    System.out.println( "File exists.");
    // TODO code here                                       
}

代码将在 //TODO 部分中实现。我怎样才能做到这一点?

4

3 回答 3

2

while(exists) { \\Prompt the user to enter another name & change "exists" status correspondingly}

            while(exists) 
        {
         String temp=dis.readLine();
         exists = (FilePath + "\\"+ temp).exists();
         if(!exists) {exportFile = new File(FilePath + "\\"+ temp); break;}

          }  

其中 dis 是一个 DataInputStream 对象。祝你好运。

于 2012-10-04T04:38:36.263 回答
0

你可以做这样的事情,

    File f = new File("C:\\Users\\jayesh.patel\\Desktop\\mdn.txt");
    if(f.exists()){
        boolean renameResult = f.renameTo(new File("C:\\Users\\jayesh.patel\\Desktop\\mdn1.txt"));
        if(renameResult){
            System.out.println("Rename Success");
        }else{
            System.out.println("Rename Failed");
        }
    }else{
        System.out.println("File Not Exist");
    }
于 2012-10-04T05:24:28.457 回答
0

您不应该尝试对 API 进行二次猜测。只需尝试重命名文件:如果失败,它仍然处于打开状态 (Windows) 或目标存在。根据结果​​做出决定,rename()而不是试图预测它将做什么。否则你只是在预测未来,所以在 Knob Hill 租一所大房子,把它连接起来,然后给自己买一块占卜板。

于 2012-10-04T10:26:45.023 回答