我有一个文件行的文件,如下所示:
[A]
这是一行。
这是另一条线。
[B]
第三行。
...
等等。我想将此文件读入Java并查找仅包含[A]等的行以供进一步参考。我试过了:
Resources res = getResources();
InputStream in_s = res.openRawResource(R.raw.texts);
byte[] b = new byte[in_s.available()];
in_s.read(b);
String textstring = new String(b);
String[] textarr = textstring.split("[\\r\\n]+");
然后:
int lineB = 0;
for (int i=0; i<textarr.length; i++) {
if textarr[i].substring(0, 3) == "[B]") lineB = i;
}
之后,线仍为零。首先,我认为这与处理新行的方式有关(我正在使用Windows),但我也没有运气子串(0,3)。我希望这给我lineB = 3,任何想法我做错了什么?
答案 0 :(得分:1)
像这样使用String#startsWith:
int lineB = 0;
for (int i=0; i<textarr.length; i++) {
if (textarr[i].startsWith("[B]"))
lineB = i;
}
答案 1 :(得分:0)
尝试String.contains(CharSequence s)或String.startsWith(String prefix)
编辑:哦,然后尝试BufferedReader:
BufferedReader in = new BufferedReader(new FileReader("foo.in"));
String line = "";
while ((line = in.readLine()) != null)
if(line.startsWith("whatever")) ...