关于java12中BufferedWriter类的错误



我已经从hackerbank复制了这段代码。当我运行这种代码时,它工作正常(这种方式,使用System.getenv("OUTPUT_PATH"(关键字(,但我将此代码复制到我的电脑上,并尝试运行该代码。但我得到了下面的错误。这个System.getenv("OUTPUT_PATH")关键字只在Hackerrank中有效吗?我知道如何使用缓冲写入程序类打印到文本文件,但我不理解这段代码行。请帮我提高知识。

public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
String s = "Hello world";
bw.write(s);
bw.newLine();
bw.close();
}

我在更多的黑客链接问题中看到了这段代码,我需要知道我们为什么使用它。。。这是错误信息,

Exception in thread "main" java.lang.NullPointerException
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:226)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:124)
at java.base/java.io.FileWriter.<init>(FileWriter.java:66)
at com.company.Main.main(Main.java:8)

我想你没有给出新的文件试试这个:

public static void main(String args[]) throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\Users\myName\Desktop\data.txt")));
String s = "Hello world";
bw.write(s);
bw.newLine();
bw.close();
}
}

这对我来说很好,txt文件是根据需要生成的。如果有帮助,请告诉我。

最新更新