我想读取一个txt文件,其中包含由字符串分隔的许多不同文本块。在xcode中,这很简单,我只是使用它。
self.Array = [text componentsSeparatedByString: @"NEWSTRING"];
我似乎没有让它在android中工作,但是我可以阅读整个文本并将其放入一个数组中,但它不会分开,所以它只是一个长文本。
我正在使用此代码
AssetManager mngr;
String line = null;
boolean skillcheck = false;
StringBuffer sb = new StringBuffer(0);
String[] bb = null;
tester = new ArrayList <String>();
try {
mngr = getAssets();
InputStream is = mngr.open("mytext.txt");
InputStreamReader sir = new InputStreamReader(is);
BufferedReader br = new BufferedReader(sir);
while((line=br.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
tester.add(sb);
br.close();
} catch (IOException e1) {
}
有什么好方法吗?
答案 0 :(得分:2)
您应该使用StringTokenizer
。
StringTokenizer sTok=new StringTokenizer(stringVariable, "newString");
while(sTok.hasMoreTokens())
System.out.println(sTok.nextToken());
stringVariable
是文件内容,newString
是分隔符字符串。
修改
StringTokenizer
的构造函数的第二个参数是delimiter
。它可以是新行\n
或逗号,
或您想要的任何内容。
答案 1 :(得分:2)
您可以使用String.split方法
String[] result = text.split("sometext");
您的确认
String.split
返回通过拆分计算的字符串数组 给定正则表达式匹配的字符串