2

我有一个包含如下文本行的文件:

[一种]

这是一条线。

这是另一条线。

[乙]

第三行。

...

等等。我想将此文件读入 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),但我对 substring(0,3) 也没有运气。我希望这给我 lineB = 3,任何想法我做错了什么?

4

2 回答 2

1

像这样使用String#startsWith

int lineB = 0;
for (int i=0; i<textarr.length; i++) {
    if (textarr[i].startsWith("[B]"))
       lineB = i;
}
于 2012-10-31T19:50:24.067 回答
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")) ...
于 2012-10-31T19:48:33.200 回答