用java创建Single文件的多个副本

用java创建Single文件的多个副本,java,Java,我有一个文件服务器和客户端,如果downloadfolder中已经存在文件,我想重命名这些文件。最好的方法是什么?我尝试了那个代码,但它总是创建一个副本,而下一个副本会覆盖第一个副本 File f = new File(FILE_DIR + fileName); if(f.exists()) { System.out.print("file already exists");

我有一个文件服务器和客户端,如果downloadfolder中已经存在文件,我想重命名这些文件。最好的方法是什么?我尝试了那个代码,但它总是创建一个副本,而下一个副本会覆盖第一个副本

            File f = new File(FILE_DIR + fileName);

            if(f.exists()) { 

                System.out.print("file already exists");

                fileName = "copy_of_" + fileName;

            }

在您的课堂上,您声明:

private static int X = 0;
然后将代码更改为:

File f = new File(FILE_DIR + fileName);

        if(f.exists()) { 

            System.out.print("file already exists");

            fileName = "copy_of_ " + X + fileName;
x++;

        }

因此,每次x将增加1,(x++),因此它们将有不同的名称。

您认为为什么会发生这种情况?如果要重命名文件,可以使用,如果要复制文件,您可以使用,但如果我有ex.5个副本,文件名会更改,因此我必须在副本上进行测试,但我不知道如何进行PHPBasicaly中的迭代,您需要一个使用数字索引的循环,并继续循环,直到达到最大值或给定的
文件存在
DIR+fileName+index
false
对,正如Johan所说,您的意思是:然后。。在一个while循环中?我刚刚在文件名中添加了代表一个数字的X,然后X每次都会增加一个,所以文件名永远不会有相同的名称:)好的,非常感谢。我也尝试过这种方法,但我没有尝试先创建一个静态变量,所以我得到了无休止的输出“file exists”。顺便说一句,你应该编辑你的代码,因为你的X变量先大后小。文件名中的X也不会被解释为变量,因为它位于“”中。再次感谢:D