我正在从我自己的应用程序中的资源加载数据,而我放置的转义字符没有像我期望的那样处理。例如,我的资源中的一行如下所示:
Ellington Human Sciences Building<>EHS<>Human Performance Sciences Building\nNeighbor to Ellington Human Sciences Annex (EHSA)<>292<>482<>73<>25<>Human Sciences
Ellington Human Sciences Annex<>EHSA<>Human Performance Sciences Building\nNeighbor to Ellington Human Sciences Building (EHS)<>340<>464<>28<>20<>Human Sciences
我的文件阅读器看起来像这样:
private synchronized void loadPOIs(Resources resource) throws IOException {
if (mLoaded) return;
InputStream inputStream = resource.openRawResource(R.raw.pois);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String line;
while((line = reader.readLine()) != null) {
String[] strings = TextUtils.split(line, "<>");
if (strings.length < 7) continue;
POI poi = addPOI(strings[0], strings[1], strings[2], strings[3], strings[4], strings[5], strings[6]);
if (strings.length == 8) {
final int len = strings[7].length();
for (int i = 0; i < len; i++) {
final String prefix = strings[7].substring(0, len - i);
addMatch(prefix, poi);
}
}
}
} finally {
reader.close();
}
mLoaded = true;
}
strings [2]将是包含有关兴趣点信息的行,它们包含“\ n”字符。当我调用poi.getInfo()(检索信息的getter方法,返回一个String)时,输出允许“\ n”保持不变。
任何想法?
答案 0 :(得分:0)
您正在从文件中读取文本,'\ n'与任何其他文本一样有效,并且在文本文件中没有任何特殊含义。如果你想要换行,那么在你的txt文件中写一个换行符。它肯定比对文本执行scaping更容易,并且您控制数据的来源,因此修改它应该没有问题。