输入文件有效数据

时间:2015-03-13 01:50:56

标签: java java.util.scanner

我似乎无法弄清楚问题。这是我正在尝试打开并阅读.txt文件的内容。如果文件中的某行数据出现问题,请跳过该文件并继续阅读文件

我找不到跳过不包含有效值的行的方法并继续读取该文件。这是我的代码。

int theValue = 0;

try {
        Scanner input = new Scanner(file);
        while (input.hasNextLine()) {
            String value = input.next();

            theValue = Integer.parseInt(value);



        }
        input.close();


    } catch (IllegalArgumentException error) {
        System.out.println(error.getMessage());
    }
}

提前感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

好吧,也许不是最好的主意,但一个简单的解决方案就是将parseInt封装在try / catch中:

int theValue = 0;

try {
        Scanner input = new Scanner(file);
        while (input.hasNextLine()) {
            String value = input.next();

            try{
                theValue = Integer.parseInt(value);
            }catch (Exception e){
                //Just ignore it and carry on.
            }



        }
        input.close();


    } catch (IllegalArgumentException error) {
        System.out.println(error.getMessage());
    }
}