2

我的应用程序需要从 assets 文件夹中的多个文件中读取。但我的文件有分隔符 $$$ 和 ||。文件的结构是这样的。

建设$$$
组装资源和组装新设施或改造设施所需的材料的所有工作。||

建筑承包商$$$
与组织签订合同以执行建筑工作的公司或个人。||

以 $$$ 结尾的句子将存储在单独的数组列表中,以 || 结尾的句子 将存储在单独的数组列表中。我怎样才能做到这一点?任何示例或示例代码将不胜感激。请注意,这些文件非常长。

    BufferedReader br = null;
    try {
        br = new BufferedReader(new InputStreamReader(getAssets().open("c.txt"))); //throwing a FileNotFoundException?
        String word;
        while((word=br.readLine()) != null)
            A_Words_array.add(word); //break txt file into different words, add to wordList
    }
    catch(IOException e) {
        e.printStackTrace();
    }
    finally {
        try {
            br.close(); //stop reading
        }
        catch(IOException ex) {
            ex.printStackTrace();
        }
    }
    String[]words = new String[A_Words_array.size()];
    A_Words_array.toArray(words); //make array of wordList

    for(int i=0;i<words.length; i++)
        Log.i("Read this: ", words[i]);

以上是我现在找到的如何根据结束分隔符拆分句子的代码?

4

1 回答 1

0

假设每个句子都在一行中并且它们以 $$$ 或 || 结尾,您可以根据结尾将这些行存储在不同的数组中:

List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
String line;
while (line = br.readLine()) != null) {
    if (line.endsWith("$$$")) {
        list1.add(line);
    } else {
        list2.add(line);
    }
}
String[] dollarlines = list1.toArray(new String[list1.size()]);
String[] verticalLines = list2.toArray(new String[list2.size()]);
于 2013-06-13T21:58:16.123 回答