Java 使用FileReader时出现NumberFormatException
我有一个只有几行的纯文本文件。每一行都以一个id开头:Java 使用FileReader时出现NumberFormatException,java,bufferedreader,filereader,parseint,numberformatexception,Java,Bufferedreader,Filereader,Parseint,Numberformatexception,我有一个只有几行的纯文本文件。每一行都以一个id开头: 1346 Salomon Shoes 129.99 7 我所需要的只是将id放入一个“int”变量中。为什么会抛出NumberFormatException BufferedReader bufferedReader = new BufferedReader(new FileReader("d:\\temp\\prices.txt")); String line = bufferedReader.readLine(); String
1346 Salomon Shoes 129.99 7
我所需要的只是将id放入一个“int”变量中。为什么会抛出NumberFormatException
BufferedReader bufferedReader = new BufferedReader(new FileReader("d:\\temp\\prices.txt"));
String line = bufferedReader.readLine();
String id = line.split(" ")[0];
int result = Integer.parseInt(id);
System.out.println(result + 1);
但当我使用consoleReader时,它不会抛出数字格式异常
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
然后输入完全相同的行 除了将变量声明为
bufferedReader
然后将其用作reader
之外,对于您给出的示例文件,这段代码对我来说非常有用。也许这里发生了什么事?UPD。这是我对变量名的错误。我特别创建了clean类来测试这段代码。无论如何,当我从文件中读取一行时,我得到了NumberFormatException。但当我从控制台读到这句话的时候——一切都很好@rbaloo你能把你的input prices.txt文件上传到某个地方让我们看看吗?您还可以使用异常堆栈跟踪更新问题吗?异常会说什么?除了您将变量声明为bufferedReader
,然后将其用作reader
,对于您给出的示例文件,此代码对我来说非常适用。也许这里发生了什么事?UPD。这是我对变量名的错误。我特别创建了clean类来测试这段代码。无论如何,当我从文件中读取一行时,我得到了NumberFormatException。但当我从控制台读到这句话的时候——一切都很好@rbaloo你能把你的input prices.txt文件上传到某个地方让我们看看吗?你能用异常堆栈跟踪更新这个问题吗?异常会说什么?
BufferedReader bufferedReader;
String line = null;
try {
bufferedReader = new BufferedReader(new FileReader(
"prices.txt"));
line = bufferedReader.readLine();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String id[] = line.split(" ");
int result = Integer.parseInt(id[0]);
System.out.println(result + 1);