我正在制作一个 android 应用程序,允许用户将收藏品添加到架子上,并且每个收藏品的名称都保存在名为 ownd 的数组中。我已经编写了一些代码(在这里的一些人的帮助下)应该将我的数组保存到一个文本文件中。
该代码如下所示:
@Override
public void onStop()
{
try{
super.onStop();
FileOutputStream fOut = openFileOutput("savedVinyls", Context.MODE_PRIVATE);
String vinylString="";
OutputStreamWriter osWriter = new OutputStreamWriter(fOut);
for(int i = 0; i < ownedCounter; i++)
{
if(!owned[i].equals(""))
vinylString += owned[i] + " ";
}
fOut.write(vinylString.getBytes());
fOut.close();
}
catch(IOException OE){
OE.getStackTrace();
}
}
我认为,这应该将数组保存到文件中,以便以后可以读回(这部分似乎工作正常,因为加载代码的某些部分工作)
加载这个文件并读取它的代码如下:
try{
FileInputStream fileStream;
fileStream = openFileInput("savedVinyls");
byte[] buffer = new byte[1024];
StringBuffer line = new StringBuffer("");
while(fileStream.read(buffer) != -1)
{
line.append(new String(buffer));
}
System.out.println(line);
String readVinyls = line.toString();
String[] splitReader = readVinyls.split(" ");
owned = splitReader;
}
catch(IOException OE)
{
OE.printStackTrace();
}
我可能会以错误的方式读取/写入文件,我的目标是让它在用户关闭应用程序时保存他们的集合字符串,然后在下次加载应用程序时加载它。
目前,它在尝试加载文本文件时崩溃。
任何帮助将不胜感激!