【发布时间】:2017-10-06 02:52:57
【问题描述】:
错误与 writeToFile() 方法有关。我可以将其注释掉,它运行完美,没有异常错误。所以基本上,我试图将这些营养成分打印在文本文件上。 错误看起来像这样
“线程“主”中的异常 java.lang.NullPointerException 在 Environment.writeToFile(Java1001.java:71) 在 环境。(Java1001.java:54)在 Java1001.main(Java1001.java:43)"
import static java.lang.System.*;
import java.io.*;
public class Java1001
{
public static void main(String[] args) throws IOException
{
new Environment();
}
}
class Environment
{
private PrintStream outFile;
public Environment()
{
createOutputStream();
writeToFile();
}
public void createOutputStream()
{
// create outFile stream here
File outFile = null;
try
{
outFile = new File("Nutrition.txt");
outFile.createNewFile();
}
catch (Exception e){}
}
public void writeToFile()
{
outFile.println("NUTRITION FACTS");
outFile.println("======================================");
outFile.println("Serving Size 1 tbsp (6g)");
outFile.println("Servings Per Container about 4");
outFile.println("======================================");
outFile.println("Amount Per Serving");
outFile.println("Calories 20");
outFile.println("Calories from Fat 5");
outFile.println("======================================");
outFile.println("Total Fat 0.5g");
outFile.println("Sodium 280mg");
outFile.println("Total Carbohydrate 4g");
outFile.println("Sugars 0g");
outFile.println("Protein less than 1 g");
outFile.println("======================================");
}
}
【问题讨论】:
-
您有 2 个变量名为
outFile。 -
您正在初始化
createOutputStream()中的局部变量outFile而不是数据成员,因此数据成员是writeToFile()中的null
标签: java io nullpointerexception