Исключение 'java.io.FileNotFoundException' никогда не генерируется в методе - PullRequest
0 голосов
/ 08 марта 2019

У меня есть метод, который читает файл, а затем передает значения в конструктор с именем point.Есть еще один класс, который называется Track, который представляет собой набор точек, чтобы показать путешествие.

Метод чтения файла - не выбрасывание файла - не найдено исключение, и я не уверен, почему.Я безуспешно попробовал метод try-catch и помог получить исключение для работы над пониманием того, почему он не будет оценен.

public static void readFile(String filename)
  throws FileNotFoundException {
    int i = 0;
    ArrayList<String> textFile = new ArrayList<>();
    Scanner input = new Scanner(System.in);
    File file = new File(input.nextLine());
    input = new Scanner(filename);
    while (input.hasNext()) {
      String letter = input.next();
      textFile.add(i, letter);
      i++;
    }
    input.close();
    for (int j = 1; j < textFile.size(); j++) {
      ZonedDateTime times;
      double longitude = 0;
      double latitude;
      double elevation;
      String s = textFile.get(j);
      String[] half = s.split(",", 4);
      times = ZonedDateTime.parse(half[0]);
      longitude = Double.parseDouble((half[1]));
      latitude = Double.parseDouble((half[2]));
      elevation = Double.parseDouble((half[3]));
      Point point = new Point(times, longitude, latitude, elevation);
      add(point);
    } 

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Вы строите свой объект Scanner из строки, то есть он будет сканировать только эту строку (имя файла), изменит его на

 input = new Scanner(file);

, и вы будете использовать конструктор, который выдает исключение FileNotFoundException

0 голосов
/ 08 марта 2019

Из документации Java:

общедоступный сканер (строковый источник)

Создает новый сканер, который выдает значения, отсканированные с указанная строка.

Параметры:

source - строка для сканирования

Этот метод не принимает имя файла в качестве параметра и не вызывает исключение FileNotFoundException.

Попробуйте использовать:

общедоступный сканер (источник файла) выдает FileNotFoundException

Создает новый сканер, который выдает значения, отсканированные с указанный файл. Байты из файла конвертируются в символы используя набор символов по умолчанию для базовой платформы.

Параметры: источник - файл для сканирования

Броски: FileNotFoundException - если источник не найден

...