java创建具有增量值的新文件
我需要创建一个具有给定名称的文件
例如,“样本文件”
如果给定目录中存在这样的文件,则我希望创建附加“1”或“(1)”的文件
“示例文件1”
有没有办法做到这一点
我正在寻找一种命名新文件的方法,因为文件夹从不同的系统更新,并且没有办法使用增量变量
对于eg,int i=1
文件f=新文件(路径)
如果(f.exists()){ f=新文件(路径+i)
}
我不能采用这种技术,因为如果有一个名为sample1的文件,它可能会再次替换它
根据最新的可用名称,我必须附加下一个值
例如,如果我有sample27,我需要程序理解并创建一个文件作为sample28
Windows在复制文件并粘贴到同一文件夹时所做的事情。我想在我的Java程序中复制它
感谢您的帮助:)
干杯
# 1 楼答案
尝试使用当前日期将其附加到文件名,以便文件名始终唯一
# 2 楼答案
您还可以使用以下选项:
添加额外条件以避免重复
# 3 楼答案
让语言为你做工作。使用java。nio包,使用路径。解析同级方法。给定所需位置和文件名的路径,以及文件名和扩展名(您可以通过apache FilenameUtils轻松获得),执行以下操作:
# 4 楼答案
也许你可以试试这样的
# 5 楼答案
现在将复制文件内容
此实现在下面的示例集上非常有效(您可以将其复制并粘贴到java文件中,它将编译并执行您想要的操作)。唯一的潜在缺点是它会跳过中间的“版本”。如果它有A1。txt和A3。txt,它将只创建A4。txt。它也不能处理没有扩展名的文件,但我认为这对您来说没有多大关系
如果文件已经存在或由于某种原因无法创建文件,则会打印“Failure”
请注意,您可以在命令行上指定文件目录,否则它将使用当前工作目录
它还递归地搜索下面的文件夹,如果您只希望它搜索当前/指定的文件目录,只需删除
getFilesForFolder
方法中return fileMap;
前面的else语句即可之前:
~/currentdirectory
之后:
~/currentdirectory