我整天都花在这上面,需要一些建议!
我正在尝试将数组列表的内容保存到文本文件中。
我有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答案来解决问题,但仍然有同样的问题
答案 0 :(得分:0)
该列表包含字符串,对吧?
如果是这样,那么不要将对象写入流中:
out.writeObject(arrayList);
你可能想先从列表中挖出字符串然后写下来:
for (String text : arrayList) {
out.writeObject(text);
}