我的应用需要从资源文件夹中的多个文件中读取。但我的文件有分隔符$$$和||。文件的结构是这样的。
建筑$$$
所有涉及组装资源和工作的工作 整理形成新的或变更所需的材料 设施。||建筑承包商$$$
公司或个人 谁已与该组织签订合同履行义务 建设工作。||
以$$$结尾的句子将存储在单独的数组列表中,而句子以||结尾将被存储在单独的数组列表中。 我怎样才能做到这一点?任何样本或示例代码将不胜感激。请注意,这些文件很长。
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]);
以上是我现在发现的如何根据结尾分隔符分割句子的代码?
答案 0 :(得分: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()]);