0

ファイルを読み込もうとして、文字列「ua」を含む最初の行を見つけようとしています。その行を sCurrentLine と等しくなるように設定したいと思います。その後、「ua,」を含むファイルの次の行を sNextLine と等しくなるように設定します。次に、それらの行を処理します。その後、sCurrentLine を sNextLine と等しくする必要があり、ループはファイルの最後まで続きます。

これは私がこれまでに持っているものです

while ((line = br.readLine()) != null)
{                       
    if (line.contains("ua, "))
{
       sCurrentLine = line;
       //now I don't know what to do
4

3 に答える 3

1

StringsArrayListを含むを使用する必要があります。

ArrayList<String> st = new ArrayString<String>();
while ((line = br.readLine()) != null)
{                       
    if (line.contains("ua, "))
    {
       st.add(line);
    }
}

"ua, " Stringが含まれる行数がわからないため、.を使用する必要がありますArrayList

"ua, "これで、ArrayListstに含まれる行ができました。


オペレーション編集

2行を処理したい場合は、見つけた最初の行を保存して"ua, "から別の行を読んで、次の文字列が含まれているかどうかを確認してください:

String st1, st2;
while ((line = br.readLine()) != null)
{                       
    if (line.contains("ua, "))
    {
       st1 = line;
    }
    if ((line = br.readLine()) != null && line.contains("ua, "))
    {
       st2 = line;
    }
}

もちろん、フラグを設定して、1 行目と 2 行目に文字列が含まれているかどうかを確認できます。

于 2013-03-20T19:09:27.777 に答える
1
boolean currentLineSet = false;
while ((line = br.readLine()) != null)
{                       
    if (line.contains("ua, "))
    {
       if (!currentLineSet) {
           sCurrentLine = line;
           currentLineSet = true;
       } else {
           sNextLine=line;
       //processing
       sCurrentLine = sNextLine;
       }
    }
于 2013-03-20T19:10:45.960 に答える
0
int index, iCurrentLine = 1;

while ((line = br.readLine()) != null)
{
    index++;                     
    if (line.contains("ua, ")) {
        sCurrentLine = line;
        iCurrentLine = index;
    }

}

ファイルの内容を再度ループし、新しいインデックスが前のインデックスと等しくないことを確認してから、設定しますsNextLine = line;

于 2013-03-20T19:04:03.260 に答える