gpt4 book ai didi

java - 无法按预期将我的 arrayList 写入文件

转载 作者:太空狗 更新时间:2023-10-29 16:18:20 25 4
gpt4 key购买 nike

我有这个方法,应该将 arrayList 写入文件:

private ArrayList<String> readFromFile() {
String ret = "";
ArrayList<String> list = new ArrayList<String>();
try {
InputStream inputStream = openFileInput("jokesBody.bjk");

if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream);
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();

while ((receiveString = bufferedReader.readLine()) != null) {
list.add(receiveString);
}

inputStream.close();
ret = stringBuilder.toString();
System.out.println("DA CRAZY FILE: " + ret);
}
} catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}

return list;
}

它的问题是它写入了像 [item1, item2, item3] 这样的值,稍后当我需要将值加载回 listArray 时,它是在索引 0 处加载整行。现在我找到了写入和读取 arrayList 的正确方法,但是我在访问文件时遇到了问题。

这是我试过的代码:

     private void writeToFile(ArrayList<String> list) {
try {

FileOutputStream fos = new FileOutputStream("jokesBody.bjk");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list); // write MenuArray to ObjectOutputStream
oos.close();

} catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());

}
}

但它抛出以下异常:

02-12 09:21:10.227: E/Exception(2445): File write failed: java.io.FileNotFoundException: /jokesBody.bjk: open failed: EROFS (Read-only file system)

哪里错了,默认的app文件位置在哪里?我知道我遗漏了一些小东西,但作为 Android 初学者,我无法发现它。

最佳答案

这不是吗:

java.io.FileNotFoundException: /jokesBody.bjk: open failed: EROFS (Read-only file system)

问题?您正在写入不可写区域。更改您写入的位置(可能是 creating a temporary file would be a simple first step - 我不熟悉 Android,但我认为这是可能的)

关于java - 无法按预期将我的 arrayList 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com