如果文件具有无效的值/字符,Java会抛出异常

时间:2017-12-22 00:27:04

标签: java file exception throw

我有一个txt,我想扫描它,每次读取一个整数时我想将它输入到我已经创建的数组中。

如果读取除int之外的其他内容,如何抛出异常,例如String,double或甚至是空行?

这是我读取文件的方法,并完成数组:

    file= new Scanner(new File(file_name));

    int[] txt = new int[cnt]; // cnt , the number of lines in my txt

    while ( file.hasNextInt()) {
        txt[count] = file.nextInt(); 
        count++;
    }

谢谢:)

2 个答案:

答案 0 :(得分:4)

hashNextInt()更改为hasNext(),您将根据要求获得例外,

while (file.hasNextInt()) {

while (file.hasNext()) {

答案 1 :(得分:0)

添加Elliott的答案,如果你想检测问题而不抛出异常:

   while (file.hasNext()) {
        if (file.hasNextInt()) {
            txt[count] = file.nextInt(); 
            count++;
        } else {
            System.error.println(file.next() + " is not an int"); // also skips bad data
        }
   }

(提示:阅读并尝试理解逻辑......)