Я получаю ошибку NumberFormatException
, когда пытаюсь прочитать некоторые данные из текстового файла и преобразовать их в целое число. Из того, что я видел, говорят другие люди, эта ошибка возникает, когда пустая строка преобразуется в целое число с использованием pasreInt()
. Но я смог напечатать строку «1» из файла на выходе. Кто-нибудь знает, почему я получаю эту ошибку, хотя строка не кажется пустой? Вот мой код:Ошибка NumberFormatException при чтении файла
try {
//Retrieve Info
FileReader fr = new FileReader("BankInfo.txt");
BufferedReader br = new BufferedReader(fr);
//Skip specified number of lines
for(int i=0; i<line; i++) {
br.readLine();
}
//Print the string to output
String holderStr = br.readLine();
System.out.println(holderStr);
//The line creating the NumberFormatException
totalBalNum = (double)Integer.parseInt(holderStr);
br.close();
//Read Whole File
BufferedReader br2 = new BufferedReader(fr);
while((str = br.readLine()) != null) {
arrList.add(str);
}
br2.close();
} catch (IOException | NumberFormatException e) {
System.out.println("ERROR! Problem with FileReader. " + e);
}
Я знаю, что мой код, вероятно, на самом деле ненадежен и неэффективен слишком ... Я немного нуба.
попробовать 'holderStr.trim() 'перед тем, как пройти, и почему вы снова бросаете Double? В вашей строке могут быть некоторые дополнительные символы, поэтому это может быть причиной для 'NumberFormatException' – Deepak
. Чтобы быть понятным, переменная totalBalNum является целым или двойным? –
Возможный дубликат [Как разрешить java.lang.NumberFormatException: для строки ввода: «N/A»?] (Http://stackoverflow.com/questions/18711896/how-to-resolve-java-lang-numberformatexception- for-input-string-na) – soorapadman