通过构造函数将ArrayList写入txt文件

时间:2014-11-11 18:45:19

标签: java arraylist constructor

我可以在main方法中将ArrayList添加到文本文件中。但是当我尝试创建一个构造函数,该构造函数具有一个接受ArrayList的方法并将其添加到给构造函数的文本文件中。我得到了所有类型的错误。有人可以给我一个关于我可能做错的建议吗谢谢你我是java新手所以请不要大话。

public class RXTWriter {

    private String filename;

    public RXTWriter(String afilename) {
        filename = afilename;
    }

    public void addtext(ArrayList<String> line) throws IOException {

        File file = new File(filename);

        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter momo = new FileWriter(file.getAbsoluteFile());
        BufferedWriter xoxo = new BufferedWriter(momo);

        for (int k = 0; k < line.size(); k++) {
            xoxo.write(line.get(k) + "\n");
            xoxo.close();
            System.out.println("Data saved.");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在for循环中,您编写第一行并在此之后关闭它,因此您将失去与文件的连接

        for (int k = 0; k < line.size(); k++) {
            xoxo.write(line.get(k) + "\n");
            xoxo.close();
            System.out.println("Data saved.");
        }

似乎你想要这样的东西

           for (int k = 0; k < line.size(); k++) {
               xoxo.write(line.get(k) + "\n");
            }
            xoxo.close();
            System.out.println("Data saved.");