java.lang.NumberFormatException: для входной строки при использовании сканера для чтения файла

1

Я не уверен, почему я получаю эту ошибку и что исправление к ней в следующем фрагменте кода:

        String srcFile=args[0];
        Scanner fileIn = new Scanner(srcFile);
        //    if (fileIn.isFile() && fileIn.canRead())

        CarDB carDatabase = new CarDB();
        while(fileIn.hasNext())
        {       
          String[] line = fileIn.nextLine().split(",");
          double mpg = Double.parseDouble(line[0]);
          int cylinders = Integer.parseInt(line[1]);
          int power = Integer.parseInt(line[2]);
          int year = Integer.parseInt(line[3]);
          int region = Integer.parseInt(line[4]);
          String makerName = line[5].trim();
          String carName = line[6].trim();

          carDatabase.addCar(makerName, carName, mpg, cylinders, power, year, region);// add car
          carDatabase.addMaker(makerName);//add maker to list

        } 

и строка 36: double mpg = Double.parseDouble(line[0]);

Ошибка:

java CarDBMain cars.txt 
java.lang.NumberFormatException: For input string: "cars.txt"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250)
    at java.lang.Double.parseDouble(Double.java:540)
    at CarDBMain.main(CarDBMain.java:36)
Теги:

1 ответ

3
Лучший ответ

У вас есть этот Scanner fileIn = new Scanner("cars.txt"); поэтому ваша первая строка будет "cars.txt"

 Scanner fileIn = new Scanner(new File(srcFile));//Or probably path of file

Здесь создайте файл и передайте commandline argument, путь к файлу, в конструктор файлов и передайте этот файл Scanner.

Вы передаете имя файла как String to Scanner.

Конструкторы

Scanner(File source)<---Takes File you want to read
Scanner(String source)<----Takes String you want to read
etc.
  • 0
    Ну, это проект, в котором я считаю, что мы не должны менять эту конкретную линию. Можем ли мы включить это другим способом?
  • 0
    хорошо, не является ли имя файла строкой?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню