有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

我已经让安卓将数组列表内容保存到内部*。但是,在数组列表中输入“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) 个答案

  1. # 1 楼答案

    列表包含字符串,对吗

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

    您可能希望首先从列表中找出字符串并将其写入:

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