因此,我現在將一堆字符串標題一起存儲到用戶手機的文件中,然後在重新啓動應用程序時再讀取它。我想讀回字符串,並把它分解上我了,但由於某種原因,將其分解,然後雙打琴絃組分隔符...將字符串拆分爲字符串數組
因此,舉例來說,如果我保存這些字符串
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