Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将ArrayList的内容写入文本文件_Java_Arraylist_Filewriter - Fatal编程技术网

Java 将ArrayList的内容写入文本文件

Java 将ArrayList的内容写入文本文件,java,arraylist,filewriter,Java,Arraylist,Filewriter,我有一个存储在ArrayList中的一些命令的列表,我一直在尝试将该列表打印到文本文件中。下面是代码- try { FileWriter writer = new FileWriter("Commands.txt"); for(String str: commandArray){ writer.write(commandArray[i]); } } catch (IOException e) { // TODO Auto-generate

我有一个存储在ArrayList中的一些命令的列表,我一直在尝试将该列表打印到文本文件中。下面是代码-

try {
    FileWriter writer = new FileWriter("Commands.txt");
        for(String str: commandArray){
        writer.write(commandArray[i]);
    }
 }
catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 
我没有收到任何错误,但文件也没有创建。是不是我做错了什么。感谢您的帮助。非常感谢

编辑问题

@Sajal Dutta,我接受了你的建议,提出了以下建议:

try {

    for(String str: movementArray){

        File file = new File("D://filename.txt");

        // if file doesnt exists, then create it
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(str);
        bw.close();
    }
}

catch (IOException e) {
    e.printStackTrace();
}
创建文件时,仅将arraylist中的最后一个值打印到文件中。arraylist中存储了六个值,如何将这六个值全部打印出来?

您找不到了-

finally {
    writer.close();
}
你失踪了-

finally {
    writer.close();
}

每次在for循环中,您都在创建一个不好的新FileWriter&BufferedWriter对象

每次在for循环中,您都在创建一个不好的新FileWriter&BufferedWriter对象

我看不到任何打字错误。你在讲什么?你的for-each循环很有趣。无法理解它是如何工作的。我是从@Sajal那里得到这个想法的。我自己并不完全理解,但它似乎只起了部分作用。只有我的arraylist中的最后一个元素被打印出来,与整个列表相对。如果你想看的话,下面有一个关于他的答案的链接。我没有看到任何打字错误。你在讲什么?你的for-each循环很有趣。无法理解它是如何工作的。我是从@Sajal那里得到这个想法的。我自己并不完全理解,但它似乎只起了部分作用。只有我的arraylist中的最后一个元素被打印出来,与整个列表相对。如果你想看一看的话,下面有一个关于他的答案的链接。。您必须在try..catch..finally块之外声明您的编写器。声明为FileWriter=null;最后,如果(writer!=null){try{writer.close();}catch(Exception e){//do which}}@Hustl3r28,那么写入文件的更好方法是:谢谢。但是它能与arraylist一起工作吗,所以除了(“这是要写入文件的内容”),我的arraylist的名称是括号?@Hustl3r28是的,你会为(String str:commandArray){bw.write(str);}做些修改,然后你在for循环外部关闭bw。如果你能看一下的话,我对原始问题做了一些编辑,这将意味着很多,谢谢。。您必须在try..catch..finally块之外声明您的编写器。声明为FileWriter=null;最后,如果(writer!=null){try{writer.close();}catch(Exception e){//do which}}@Hustl3r28,那么写入文件的更好方法是:谢谢。但是它能与arraylist一起工作吗,所以不用(“这是写入文件的内容”),我的arraylist的名称是括号?@Hustl3r28是的,你会为(String str:commandArray){bw.write(str);}然后你在for循环外部关闭bw。我对原始问题做了一些编辑,如果你能看一下,这将意味着非常感谢。