Мой код не работает. Текстовый файл находится в той же папке, что и мои классы. Я использовал путь, который работал, но я не думаю, что это сработает, если я отправлю файл кому-то другому. И преобразование строк в примитивный тип с использованием методов анализа также не работает. Не уверен, что я делаю неправильно. Может ли кто-нибудь помочь?Как решить 'NumberFormatException.forInputString()'?
Вот мой код:
import java.util.Scanner;
import java.util.StringTokenizer;
import java.io.FileNotFoundException;
import java.io.FileInputStream;
public class TestInventory {
public static void main(String[] args) {
// TODO Auto-generated method stub
Inventory movieList = new Inventory();
Scanner inputStream = null;
try{
inputStream = new Scanner(new FileInputStream("movies_db.txt"));
}
catch(FileNotFoundException e){
System.out.println("File not found or could not be opened");
System.exit(0);
}
while(inputStream.hasNextLine()){
String s = inputStream.nextLine();
StringTokenizer st = new StringTokenizer(s, " - ");
String t1 = st.nextToken();
String t2 = st.nextToken();
String t3 = st.nextToken();
String t4 = st.nextToken();
int y = Integer.parseInt(t2);
double r = Double.parseDouble(t4);
int d = Integer.parseInt(t3);
Movie m = new Movie(t1, y, r, d);
movieList.addMovie(m);
}
}
}
И это выход я получаю:
run:
Exception in thread "main" java.lang.NumberFormatException: For input string: "America:"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at TestInventory.main(TestInventory.java:29)
C:\Users\customer\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
Каков результат, который вы получаете? – Subu
пробег: Исключение в потоке "основного" java.lang.NumberFormatException: Для ввода строки: "Америка:" \t на java.lang.NumberFormatException.forInputString (NumberFormatException.java:65) \t в java.lang.Integer. ParseInt (Integer.java:580) \t в java.lang.Integer.parseInt (Integer.java:615) \t в TestInventory.main (TestInventory.java:29) C: \ Users \ клиента \ AppData \ Local \ NetBeans \ Cache \ 8.1 \ executor-snippets \ run.xml: 53: Java возвращается: 1 BUILD FAILED (общее время: 0 секунд) –
@JJoseph как выглядит 'movies_db.txt'? – Arthur