Java 从ArrayList创建名称为的文件

Java 从ArrayList创建名称为的文件,java,arraylist,filenames,Java,Arraylist,Filenames,我正在寻找一种方法来生成一堆空txt文件,这些文件将以Java中ArrayList的元素命名 假设fList有Apple、Banana和Cherry,这段代码应该在项目目录中创建Apple.txt、Banana.txt和Cherry.txt 不幸的是,事实并非如此,我也不明白为什么。我认为这是一个逻辑或语法错误 public void ViewList() { for (String fruits : fList) { String fileName =

我正在寻找一种方法来生成一堆空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!");
            }
        }

你能帮我理解出了什么问题吗?

你的代码中除了几行以外,所有内容都是正确的

for (String fruit : fList) {
    //String fileName = fruits;
    File file = new File(appDir + fruit + ".txt");

    //OR if appDir doesn't end with `/` or `\` use
    //File file = new File(appDir, fruit + ".txt"); 

    // Create the file
    if (file.createNewFile()) {
        System.out.println("File is created!");
    } else {
        System.out.println("File already exists.");
    }
}
您还可以参考此链接了解更多信息:


注意:请记下,windows和unix系统之间的文件路径策略会有所不同。因此,您需要使用f.createnewfiles实际创建文件。请参见此示例:路径元素由/或\分隔,具体取决于操作系统。您的代码appDir+fileName+.txt将导致我的/project/directoryapple.txt通知缺少/before apple.txt。要解决此问题,请使用新的FileappDir,fileName+.txt;。老实说,我看不出复制了什么,但嘿,我知道什么。Pshemo对路径的解释和Sathishkumar Manogaran对逻辑没有错的确认正是我所需要的。谢谢老实说,我看不出复制了什么。您的代码不包含负责在文件系统/磁盘上创建文件的部分。新文件。。。仅创建文件对象,该对象不是同一个对象,它包含有关潜在文件的信息,如路径,但不是文件本身。问题的答案是重复的,指出并解释了要在光盘上创建实际的文件,你们需要调用f.createFile。请看:若答案指向正确的文章,我不会说它是无用的。但这样的回答被认为是低质量的,因为当链接的资源消失或改变其位置时,有变得无用的风险。所以,虽然链接作为额外的资源很好,但它不可能是唯一的信息来源。让我删除链接并给出正确的答案:Hodor:PMy以前的评论是对其他评论的重播,显然现在被删除了。无论如何,没有必要删除链接。它可以作为附加资源,或者如果答案是/包含一个报价作为关于其来源的信息。