将数组列表保存到文本文件

时间:2018-03-07 19:35:52

标签: java android

我整天都花在这上面,需要一些建议!

我正在尝试将数组列表的内容保存到文本文件中。

我有android将数组列表内容保存到内部* .txt然后在数组列表中输入“Test one”和“Test Two”后,单击一个按钮将当前内容保存到文本文件中。我得到以下内容:

�� sr java.util.ArrayListx����a� I sizexp   w   t Test Onet Test Twox

还给出了一个错误:

 "File was loaded in the wrong encoding:'UTF-8'

System.out.print给出结果:

 "I/System.out: [Test One, Test Two]" 

准确显示数组列表的内容。

使用的代码:

public void savingfile() {
    read = (Button)findViewById(R.id.read);
    read.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            try {

                outputStream = openFileOutput(anxfile, Context.MODE_PRIVATE);

                ObjectOutputStream out = new ObjectOutputStream(outputStream);

                out.writeObject(arrayList);

                System.out.println(arrayList);

                outputStream.close();

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    });
}

非常感谢,莱昂 附:我已经尝试了许多youtube教程/ Stackoverflow答案来解决问题,但仍然有同样的问题

1 个答案:

答案 0 :(得分:0)

该列表包含字符串,对吧?

如果是这样,那么不要将对象写入流中:     out.writeObject(arrayList);

你可能想先从列表中挖出字符串然后写下来:

for (String text : arrayList) {
    out.writeObject(text);
}