Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java在同一目录中创建多个同名文件?_Java_File_Directory - Fatal编程技术网

如何使用java在同一目录中创建多个同名文件?

如何使用java在同一目录中创建多个同名文件?,java,file,directory,Java,File,Directory,根据我的要求,我需要上传一个文件到一个指定的目录中,稍后经过一些修改后,我需要将同一个文件上传到同一个目录中,这里前面的文件不应该被覆盖意味着文件必须以相同的名称保存在同一个目录中(这里我有一个假设,例如,如果我的文件是abc.txt,在修改后,如果我上传修改后的文件,它可以保存为abc(1.txt)。我如何解决我的问题?有人能帮助我解决这个问题吗 提前感谢。在while循环中使用。当且仅当文件不存在时,它才会创建文件。这是线程安全的,因为API保证原子性 在循环中检查文件的存在性并不能给您这样

根据我的要求,我需要上传一个文件到一个指定的目录中,稍后经过一些修改后,我需要将同一个文件上传到同一个目录中,这里前面的文件不应该被覆盖意味着文件必须以相同的名称保存在同一个目录中(这里我有一个假设,例如,如果我的文件是abc.txt,在修改后,如果我上传修改后的文件,它可以保存为abc(1.txt)。我如何解决我的问题?有人能帮助我解决这个问题吗

提前感谢。

在while循环中使用。当且仅当文件不存在时,它才会创建文件。这是线程安全的,因为API保证原子性


在循环中检查文件的存在性并不能给您这样的保证。

如果您可以保持上载的数量,您可以为每个特定文件增加一个数字,并将其保存到您的文件名(例如foo_1.txt或您想要的任何文件名) 如果不能,您可能需要检查所有文件,并检查它们是否符合您的命名模式。然后您可以提取最大值,将其递增1,并将其附加到新文件中。

检查类似的方法:

如果文件存在,您可以计算一个数字并创建一个新的文件名,如

newFilename = MessageFormat.format("({0}){1}", counter++, originalFilename);
File newFile = new File(originalFile.getParentFile(),newFilename);
只要找到不存在的文件名,您就可以创建和检查新文件。

以下文件可能重复: