" InputMismatchException时"错误,计算文件中的行

时间:2018-05-09 13:21:52

标签: java android arrays java.util.scanner

如何计算文件中的行数?

以下是我编写的代码,但有例外。

import java.io.File;
import java.net.URI;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.util.InputMismatchException;

public class Main {
    public static void main(String[] args)throws Exception {
        String[] MovieList = new String[25];
        File MovieFile= new File("TheMovieList.txt");
        Scanner ms = new Scanner(MovieFile);
        while(true){
            int i= ms.nextInt();
            System.out.println();
        }
    }
}

我有

  

线程中的异常" main" java.util.InputMismatchException

出了什么问题,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您可以检查输入是否可以解释为int值:

...
if (ms.hasNextInt()) { 
  int i= ms.nextInt();
  ...
}

答案 1 :(得分:-1)

要计算文件中的行数,您可以执行此操作。

import java.io.File;
import java.net.URI;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.util.InputMismatchException;

public class Main {
    public static void main(String[] args)throws Exception {
        File MovieFile= new File("TheMovieList.txt");
        Scanner ms = new Scanner(MovieFile);
        int count = 0;
        while (ms.hasNextLine()) {
            count++;
            ms.nextLine();
        }
        System.out.println("Number of lines in the file is " + count);
    }
}