我在这里阅读了这个问题 How to create a file in a directory in java?
我有一个创建二维码的方法。该方法会被多次调用,具体取决于用户输入。
这是一个代码片段:
String filePath = "/Users/Test/qrCODE.png";
int size = 250;
//tbd
String fileType = "png";
File myFile = new File(filePath);
问题:如果用户键入“2”,那么该方法将被触发两次。 结果,第一个 qrCODE.png 文件将被替换为第二个 qrCODE.png,因此第一个丢失。
如何生成多个不同名称的二维码,比如qrCODE.png 和qrCODE(2).png
我的想法:
if (!myFile.exists()) {
try {
myFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
有什么建议吗?
编辑:我通过使用 for 循环并在每个循环步骤中递增文件名中的数字来解决它。
最佳答案
您可以创建更多文件,例如。喜欢如下
int totalCount = 0; //userinput
String filePath = "/Users/Test/";
String fileName= "qrCODE";
String fileType = "png";
for(int counter = 0; counter < totalCount; counter++){
int size = 250;
//tbd
File myFile = new File(filePath+fileName+counter+"."+fileType);
/*
will result into files qrCODE0.png, qrCODE1.png, etc..
created at the given location
*/
}
顺便说一下,添加检查文件是否存在也是一个好点。
{...}
if(!myFile.exists()){
//file creation
myFile.createNewFile()
}else{
//file already exists
}
{...}
关于Java创建多个新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54462609/