所以我目前将一堆字符串标题一起存储到用户手机上的一个文件中,然后稍后读取(当他们重新启动应用程序时)。我正在尝试读回字符串并将其拆分为我为其设置的分隔符,但由于某种原因它拆分它然后将字符串加倍......
因此,例如,如果我存储了这些字符串
瑞奇(哈)鲍比(哈)是(哈)酷(哈)
(har) 是我用来存储它们的分隔符。(例如)
出于某种原因,当我在“har”上使用拆分功能时
它给了我一个字符串数组,但是将我存储的数量翻了一番......所以字符串数组将有两个 Ricky 的两个 Bobby 的两个 is 和两个 cool 的。老实说,我不知所措。盯着这个看了好几个小时……有人知道吗?
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();
}
}