在不移动当前扫描器位置的情况下,检查文件的下一行是什么数据类型

时间:2015-01-28 01:50:56

标签: java string netbeans input java.util.scanner

我有一个输入txt文件,如下所示:

int int String String
int int String
int int String
int int String String 
int int String
...

始终有2个整数,后跟1或2个字符串。问题是,我不知道什么时候会有2个字符串或何时会有1个字符串。

我如何检查第一个字符串后面是否有第二个字符串(如果是,则将其扫描到变量string2中,然后我将string2追加到string1的末尾)

我想到的解决方案是

after String1 is scanned:
if nextline == String, then scan it into string2, start scanning loop over
if nextline != String, start scanning loop over

但我不知道如何在java中编写代码

1 个答案:

答案 0 :(得分:0)

您可以读取每行的行数,将其拆分为空格并检查数组的长度。如果长度为4则存在第二个字符串

String  line= null;
BufferedReader br = new BufferedReader("yourfile.txt");
while ((line = br.readLine()) != null) {
    String[] arr = line.split("\\s+");
    if(arr.length == 4){
        //second string is exist
    }
    ....
 }