Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误readLine()Java读取错误的行_Java_Linked List_Readline - Fatal编程技术网

错误readLine()Java读取错误的行

错误readLine()Java读取错误的行,java,linked-list,readline,Java,Linked List,Readline,我是Java新手,遇到了一个让我大吃一惊的错误……错误是: Exception in thread "main" java.lang.NullPointerException at BancA.carica(BancA.java:30) at BancA.main(BancA.java:46) 我需要从一个txt文件中加载一些值…这是由一个ID(client1等)、第一个数字列表(付款)和第二个数字列表(转账)组成…我决定用“-”来区分这两个类别…但是readLine()似乎读

我是Java新手,遇到了一个让我大吃一惊的错误……错误是:

Exception in thread "main" java.lang.NullPointerException
    at BancA.carica(BancA.java:30)
    at BancA.main(BancA.java:46)
我需要从一个txt文件中加载一些值…这是由一个ID(client1等)、第一个数字列表(付款)和第二个数字列表(转账)组成…我决定用“-”来区分这两个类别…但是readLine()似乎读错了行,或者忽略了我的“while”语句…无论如何,这是我的代码,非常感谢您的帮助:-)


听起来好像找不到该文件。您的文件是否真的与.jar/.class文件位于同一目录中

应该向FileReader传递文件对象,而不是字符串。因此,您可以通过调用来检查是否选择了正确的路径

myFile.exists();

(>应返回true)

听起来好像找不到文件。您的文件是否真的与.jar/.class文件位于同一目录中

应该向FileReader传递文件对象,而不是字符串。因此,您可以通过调用来检查是否选择了正确的路径

myFile.exists();
(>应返回true)

第二个
readline()
可能遇到EOF,在这种情况下
tmp2
可能是
null
,这会导致
NullPointerException

while(!(tmp2.equals(“-”)
更改为
while(tmp2!=null&!tmp2.equals(“-”)
可以解决您的问题。

第二个
readline()
会遇到EOF,并且
tmp2
在这种情况下可以
null
,这会导致
NullPointerException

while(!(tmp2.equals(“-”)
更改为
while(tmp2!=null&&!tmp2.equals(“-”)
可以解决您的问题。

你需要检查一下EOF。现在,您正在抛出一个NullPointerException,因为您位于文件的末尾,希望在那里看到一个“-”。while循环不知道该做什么,无法正确退出

while循环应该有一个OR条件,表示“-”或EOF。甚至还有一个“如果”条款来检查是否达到EOF。如果是,请继续

编辑:我刚刚看到宋思宇的评论,他是对的<代码>而(tmp2!=null&&!tmp2.equals(“-”)将起作用。我现在刚试过,效果很好。

你需要检查一下EOF。现在,您正在抛出一个NullPointerException,因为您位于文件的末尾,希望在那里看到一个“-”。while循环不知道该做什么,无法正确退出

while循环应该有一个OR条件,表示“-”或EOF。甚至还有一个“如果”条款来检查是否达到EOF。如果是,请继续


编辑:我刚刚看到宋思宇的评论,他是对的<代码>而(tmp2!=null&&!tmp2.equals(“-”)将起作用。我现在刚试过,效果很好。

第30行在哪里?第30行在哪里?
 Cliente1
 1
 2
 3
 -
 41
 52
 33
 90
 -
 Cliente2
 4
 -
 89
 3
 1
myFile.exists();