将ArrayList的内容写入文本文件

问题描述 投票:0回答:3

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

java arraylist filewriter
3个回答
5
投票

你错过了 -

finally {
    writer.close();
}

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();
            }

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.