2

次のようなテキスト行を含むファイルがあります。

[あ]

これが1行です。

これは別の行です。

[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 を使用しています) が、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 に答える