在行尾停止扫描仪

时间:2014-05-21 23:52:11

标签: java java.util.scanner

我有一个文件,其中第一个是对象的名称,另一个是行的末尾 - 此对象的描述,我如何使用Scanner阅读?

SUMMARY ; 'Description summary'Description summary2'
CAR ; 'Description car'
SAVINGS ; 'description'
HOME ; 'Description home'

我已经有了类似的东西。但我需要在行结束时停止第二个while()

while(scanner.hasNext()) {
    System.out.print(scanner.next());
    scanner.next();
    scanner.useDelimiter("'");
    if(scanner.hasNext(" ")) {
    scanner.next();
        while(scanner.hasNext()) {
            System.out.print(" = " + scanner.next());
        }
    }
    if(scanner.hasNextLine()) {scanner.nextLine();}
    scanner.useDelimiter(" ");
    System.out.print("\t");
}

2 个答案:

答案 0 :(得分:0)

我这样做的方式(可能不是最好的解决方案)是调用scanner.nextLine()来获取整行文本(在第二行while之前,而不是next()) ,然后调用split(" ")将其转换为字符串数组,然后遍历该数组以打印它们。

答案 1 :(得分:0)

while (scanner.hasNextLine ()) {
   String line = scanner.nextLine ();
   String arr [] = line.split (";");
   System.out.print(arr[0] + " = " + arr[1]);
}