【发布时间】:2018-03-25 08:33:13
【问题描述】:
我正在寻找一种方法来制作一堆空的 txt 文件,这些文件将以 Java 中的 ArrayList 的元素命名。
假设fList有“Apple”、“Banana”和“Cherry”,这段代码应该在项目目录下创建Apple.txt、Banana.txt和Cherry.txt。
不幸的是,它没有,我不明白为什么。我认为这是逻辑或语法错误。
public void ViewList() {
for (String fruits : fList) {
String fileName = fruits;
File f = new File(appDir + fileName + ".txt");
if (f.exists() && f.isFile()) {
System.out.println("Success!");
}
}
你能帮我弄明白怎么回事吗?
【问题讨论】:
-
您需要使用
f.createNewFile()实际创建文件 -
路径元素由
/或\分隔,具体取决于操作系统。您的代码appDir + fileName + ".txt"将导致my/project/directoryapple.txt(注意/在apple.txt之前缺少)。要解决它,请使用new File(appDir, fileName + ".txt");。 -
老实说,我看不到重复的内容,但是,嘿,我知道什么。 Pshemo 对路径的解释以及 Sathishkumar Manogaran 对逻辑没有错的确认正是我所需要的。谢谢!
-
“老实说,我没有看到重复的内容”您的代码不包含负责在文件系统/磁盘上创建文件的部分。
new File(...)只创建不一样的文件 object(object 包含信息 about 潜在文件,如路径,但不是文件本身)。重复问题的回答指出并解释了要在磁盘上创建实际文件,您需要调用f.createFile()。