将ArrayList的内容写入文本文件

时间:2014-02-04 13:39:14

标签: java arraylist filewriter

我有一个存储在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中存储了六个值,如何将所有六个值打印出来?

3 个答案:

答案 0 :(得分:5)

你错过了 -

finally {
    writer.close();
}

答案 1 :(得分:1)

try {
                if(!file.exists())
                    file.createNewFile();
                FileWriter writer = new FileWriter(file);
                BufferedWriter bw = new BufferedWriter(writer);
                for(String str : data){
                    bw.append(str);
                    bw.append("\n");
                }
                bw.close();
                writer.close();
            }

答案 2 :(得分:0)

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