我正在尝试阅读文件并找到包含字符串" 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
答案 0 :(得分:1)
您应该使用包含字符串的ArrayList
。
ArrayList<String> st = new ArrayString<String>();
while ((line = br.readLine()) != null)
{
if (line.contains("ua, "))
{
st.add(line);
}
}
由于您不知道将包含"ua, "
字符串的行数,因此您应使用ArrayList
。
现在,您将在"ua, "
st。
ArrayList
行
OP EDIT
如果要处理两行,可以使用"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 :(得分: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;
}
}
答案 2 :(得分:0)
int index, iCurrentLine = 1;
while ((line = br.readLine()) != null)
{
index++;
if (line.contains("ua, ")) {
sCurrentLine = line;
iCurrentLine = index;
}
}
再次遍历文件内容,然后确保新索引不等于先前的索引,然后设置sNextLine = line;