Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 使用扫描仪时添加的空值_Java_Java.util.scanner - Fatal编程技术网

Java 使用扫描仪时添加的空值

Java 使用扫描仪时添加的空值,java,java.util.scanner,Java,Java.util.scanner,据我所知,我试图将文本文件中的所有数据放入单个字符串变量中,并且运行良好,但输出显示如下: nullRead File Test 我曾经尝试替换所有方法来删除null,但它不起作用。为什么会显示空值?我如何才能消除它 相关源代码: private static final long serialVersionUID = 1L; private Scanner readWatched; String fileData; public void handleFile()

据我所知,我试图将文本文件中的所有数据放入单个字符串变量中,并且运行良好,但输出显示如下:

nullRead File Test
我曾经尝试替换所有方法来删除null,但它不起作用。为什么会显示空值?我如何才能消除它

相关源代码:

private static final long serialVersionUID = 1L;
    private Scanner readWatched;
    String fileData;

    public void handleFile() {
        try {
            readWatched = new Scanner(new File("E:\\Watched.txt"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void readFile() {
        try {
            while (readWatched.hasNext()) {
                fileData += readWatched.next() + " ";
            }
            fileData.replaceAll("null", " ");
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(fileData);
    }

    public void closeFile() {
        readWatched.close();
    }

作为
对象
文件数据
默认为
null
,因此其初始
字符串
值在附加到另一个字符串时被转换为字符串文字
“null”
。因此,需要对其进行初始化:

private String fileData = "";

考虑在此处使用
StringBuilder

谢谢,但是为什么replaceAll方法不将其替换为空格?您正在尝试替换
fileData
中的
String
文本“null”,这与
null
不同-缺少赋值。即使使用了
null
,它也不能作为
NPE
工作,这将导致。。。