BufferedWriter抛出NPE

时间:2017-07-07 05:17:50

标签: java file nullpointerexception

我正在尝试将从hashmap获取的值写入文件:

public writeToFile(HapshMap<String,String> , String fileName) {

    File myFile = new File(filePath);  
    BufferedWriter bufferedWriter = null;
    Writer writer = new FileWriter(myFile,false);
    bufferedWriter = new BufferedWriter(writer);

    String paramsValue = params.get("NAME");
    bufferedWriter.write(paramsValue);
}

在上面的代码中,HashMap中没有键“NAME”。 它正在投掷NPE。任何人都可以建议可以做什么以及为什么NPE会被抛出?

1 个答案:

答案 0 :(得分:0)

当你要求它在某处写null时,BufferedWriter会抛出一个NPE。

这是您必须了解和处理的情况。例如,将null值替换为表示空虚的一个众所周知的字符串:

Object nvl(Object value, Object defaultValue) {
  return value != null ? value : defaultValue;
}
<...>
String value = nvl(map.get("Name"), ""); // using empty string instead of null
writer.write(value);