因此,我现在将一堆字符串标题一起存储到用户手机的文件中,然后在重新启动应用程序时再读取它。我想读回字符串,并把它分解上我了,但由于某种原因,将其分解,然后双打琴弦组分隔符...将字符串拆分为字符串数组
因此,举例来说,如果我保存这些字符串
Ricky(har)Bobby(har)是(har)cool(har)
(har)是我用来存储它们的分隔符。 (例如)
出于某种原因,当我使用分裂功能的“哈日”
它给了我一个字符串数组,但双打我保存了多少...所以字符串数组将有两个瑞奇的两个鲍比的两个是和两个很酷的。 我不知道该说些什么,说实话。一直盯着这个小时......任何人有任何想法?
line = BR.readLine();
String[] each = line.split("<TAG>");
for (int i = 0; i < each.length; i++) {
listOfCourses.add((each[i]));
//Toast.makeText(context, each[i], Toast.LENGTH_SHORT).show();
}
下面是存储数据到用户的手机功能
//adds data into the classes file on user's phone
public void addClassesIntoFile(Context context, ArrayList<String> classList) {
try {
FileOutputStream fos = context.openFileOutput(CLASSLIST_FILENAME,
Context.MODE_PRIVATE | Context.MODE_APPEND);
OutputStreamWriter osw = new OutputStreamWriter(fos);
for (int i = 0; i < classList.size(); i++) {
osw.write(classList.get(i) + "<TAG>");
}
osw.flush();
osw.close();
} catch (FileNotFoundException e) {
// catch errors opening file
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
也许你正在写它们两次:/ –
尝试在第2行中添加Log.v,如下所示:Log.v(“Test”,line);并查看已存储的内容 – SalGad
我可以看到它在阅读什么的Toast消息。 我也检查了写入文件。它写入正确:( – cj1098