Android,从.txt文件加载的字符串不会被转义

时间:2011-09-18 05:36:05

标签: android escaping character

我正在从我自己的应用程序中的资源加载数据,而我放置的转义字符没有像我期望的那样处理。例如,我的资源中的一行如下所示:

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”保持不变。

任何想法?

1 个答案:

答案 0 :(得分:0)

您正在从文件中读取文本,'\ n'与任何其他文本一样有效,并且在文本文件中没有任何特殊含义。如果你想要换行,那么在你的txt文件中写一个换行符。它肯定比对文本执行scaping更容易,并且您控制数据的来源,因此修改它应该没有问题。