我想创建一个文件对象,如下所示
File file = new File("MyFile-abcdfg.txt");
-
和.
之间的字符串是随机的并且总是在变化。长度也不一样。
我想查看file.exist()
,但问题是我不确定该文件的名称是什么,因为它会不断变化。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以创建一个String
变量,例如:
String dynamicPartOfFileName = "abcdfg";
如果您愿意,可以通过任何其他机制(例如生成随机字符串)替换文字"abcdfg"
。
并将其用作文件名的一部分,如下所示:
File file = new File("MyFile-" + dynamicPartOfFileName + ".txt");
+
- 运算符将String
加入new File()
。之后,String
- 构造函数将使用已加入的<globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB"/>
。
答案 2 :(得分:0)
您可以使用随机数从您可能的文件名中随机选择值。
Random rand = new Random();
int randomNumber = rand.nextInt(2); // 0-1.
String s1 = "-";
if(randomNumber == 0){
s1 = "_";
}
int nameLength = rand.nextInt(100); //0-99
String characters = "";
String possibleCharacters = "abcdefg";
for(int i = 0; i < nameLength; i++){
characters += possibleCharacters[rand.nextInt(possibleCharacters.length)];
}
String filename = "MyFile" + s1 + characters + ".txt";
File file = new File(filename);
if(file.exists() && !file.isDirectory()) {
// do something
}
答案 3 :(得分:0)
据我所知,问题不在于如何创建文件名,而在于如何检查具有该名称的文件是否存在。
如果您知道名称的形成规则(假设“aBeginning”+“aDatePresentation”+“anEnd”),那么您可以测试可能的文件,例如
boolean checkFileToday(){
Date today = new Date();
String name = "aBeginning"+today.getDate()+"anEnd";
File file = new File(name);
return file.exists();
}
答案 4 :(得分:0)
以下代码生成具有唯一名称的新文件。
import java.io.File;
import java.io.IOException;
import java.util.UUID;
public class DynamicFile {
public static void main(String[] args) throws IOException {
int i = 4;
do {
//UUID creates random string.
String randomID = UUID.randomUUID().toString();
File file = new File("A:/NewFolder/MyFile-" + randomID.substring(0, 5) + ".txt");
file.createNewFile();
} while (i-- > 0);
}
}
将创建如下文件:
MyFile的-1d2ef.txt