文件IO期间发生NullPointerException

电脑书呆子

这是一个从文本文件读取的简单程序,但是以某种方式运行时出现以下错误

线程“主”中的异常java.lang.NullPointerException

程序:

package testenglish;

import java.util.*;
import java.io.*;


public class TestEnglish 
{

    public static void main(String[] args) 
    {
         Scanner myscanner= null;
        try
        {
                myscanner = new Scanner(new File("file.txt"));
        }
        catch (FileNotFoundException e)
        {

        }

        while (myscanner.hasNextLine())
        {

        }

        myscanner.close();
    }

}

在此处输入图片说明

我不明白为什么我得到一个NullPointerExceptionmyscanner已经被初始化。

编辑:为什么我不阅读文本文件?它与源代码放置在同一文件夹中。

安全性

这种结构

Scanner myscanner= null;
try
{
    myscanner = new Scanner(new File("file.txt"));
}
catch (FileNotFoundException e)
{
}

这是一个非常糟糕的主意:本质上,您要说的是要加载文件,但是如果出现任何问题,它应该会静默失败您捕获了异常,但是对它不执行任何操作(除非通过捕获隐式地对其进行挤压)。

如果代码失败,myscanner将仍未初始化。尝试使用它时,您将获得一个空指针异常。那就是你正在发生的事情。

您想尝试

try
{
    myscanner = new Scanner(new File("file.txt"));
    //now do your processing inside here
}
catch (FileNotFoundException e)
{
    e.printStackTrace();
}

否则摆脱try/catch结构并添加throws FileNotFoundException到您的方法签名中:

public static void main(String[] args) throws FileNotFoundException

至于为什么找不到文件,这不是问题,它是否与源文件位于同一目录中,而是文件是否位于要从中调用程序的目录中,这不是完全一样的。最安全的选择是将整个路径放在其中。如果您使用的是Windows,请记住,\\无论您在何处都有一个\需要使用它,因为单个\在Java中的含义不同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类测试期间发生NullPointerException

来自分类Dev

HTTP执行期间发生IO错误

来自分类Dev

春季4:在实例化ClassPathXmlApplicationContext期间发生NullPointerException

来自分类Dev

春季4:在实例化ClassPathXmlApplicationContext期间发生NullPointerException

来自分类Dev

通过ppa稳定发布的MaaS导入文件期间发生错误

来自分类Dev

从Assets文件夹解析Json文件时发生NullPointerException

来自分类Dev

从Assets文件夹解析Json文件时发生NullPointerException

来自分类Dev

严重:处理请求期间发生异常:null java.lang.NullPointerException

来自分类Dev

使用android-gradle-plugin 3.6.0进行IR转换期间发生NullPointerException

来自分类Dev

初始化LayoutInflater期间在上下文上发生NullPointerException

来自分类Dev

SecurityHelper.prepareSignatureParams()OpenSAML调用期间发生java.lang.NullPointerException错误

来自分类Dev

尝试从文本文件读取时发生NullPointerException

来自分类Dev

读取文本文件时发生NullPointerException

来自分类Dev

迁移期间发生错误

来自分类Dev

构建期间发生错误

来自分类Dev

在将SSL套接字打开到socket-io服务器时发生NullPointerException

来自分类Dev

处理服务于此请求所需的配置文件期间发生错误

来自分类Dev

Azure功能:启动操作期间发生主机错误无法加载文件

来自分类Dev

查找在git merge commit期间发生冲突或本地编辑的文件

来自分类Dev

travis-ci:构建期间发生错误(无此文件或目录)

来自分类Dev

com.parse.ParseRequest $ ParseRequestException:错误的json响应或文件上传期间发生I / O失败

来自分类Dev

外部json文件调用cytoscape.js期间发生意外令牌]错误

来自分类Dev

从res文件夹加载文件时发生NullPointerException-Java

来自分类Dev

在构建新的android应用程序期间没有project.properties文件和NullPointerException

来自分类Dev

在构建新的android应用程序期间没有project.properties文件和NullPointerException

来自分类Dev

为什么angular-socket-io抱怨“ WebSocket握手期间发生错误:意外的响应代码:400?”

来自分类Dev

Apache安装期间发生错误

来自分类Dev

matplotlib动画期间发生异常

来自分类Dev

Apache安装期间发生错误

Related 相关文章

  1. 1

    类测试期间发生NullPointerException

  2. 2

    HTTP执行期间发生IO错误

  3. 3

    春季4:在实例化ClassPathXmlApplicationContext期间发生NullPointerException

  4. 4

    春季4:在实例化ClassPathXmlApplicationContext期间发生NullPointerException

  5. 5

    通过ppa稳定发布的MaaS导入文件期间发生错误

  6. 6

    从Assets文件夹解析Json文件时发生NullPointerException

  7. 7

    从Assets文件夹解析Json文件时发生NullPointerException

  8. 8

    严重:处理请求期间发生异常:null java.lang.NullPointerException

  9. 9

    使用android-gradle-plugin 3.6.0进行IR转换期间发生NullPointerException

  10. 10

    初始化LayoutInflater期间在上下文上发生NullPointerException

  11. 11

    SecurityHelper.prepareSignatureParams()OpenSAML调用期间发生java.lang.NullPointerException错误

  12. 12

    尝试从文本文件读取时发生NullPointerException

  13. 13

    读取文本文件时发生NullPointerException

  14. 14

    迁移期间发生错误

  15. 15

    构建期间发生错误

  16. 16

    在将SSL套接字打开到socket-io服务器时发生NullPointerException

  17. 17

    处理服务于此请求所需的配置文件期间发生错误

  18. 18

    Azure功能:启动操作期间发生主机错误无法加载文件

  19. 19

    查找在git merge commit期间发生冲突或本地编辑的文件

  20. 20

    travis-ci:构建期间发生错误(无此文件或目录)

  21. 21

    com.parse.ParseRequest $ ParseRequestException:错误的json响应或文件上传期间发生I / O失败

  22. 22

    外部json文件调用cytoscape.js期间发生意外令牌]错误

  23. 23

    从res文件夹加载文件时发生NullPointerException-Java

  24. 24

    在构建新的android应用程序期间没有project.properties文件和NullPointerException

  25. 25

    在构建新的android应用程序期间没有project.properties文件和NullPointerException

  26. 26

    为什么angular-socket-io抱怨“ WebSocket握手期间发生错误:意外的响应代码:400?”

  27. 27

    Apache安装期间发生错误

  28. 28

    matplotlib动画期间发生异常

  29. 29

    Apache安装期间发生错误

热门标签

归档