我正在使用BufferedWriter
对象中的ResultSet
创建CSV文件。一些数据库列保留null
个值。
当我致电obj.write(rs.get())
时,当输出为NullPointerException
时,我会收到null
。除BufferedWriter
之外是否还有其他类可以用来克服这个问题。
我不想在数据库列上检查null
条件,因为列数很多。我是Java新手并尝试搜索解决方案,但找不到任何东西。
答案 0 :(得分:4)
您可以使用执行无效检查的cleverer Buffered writer。这是一个可能需要稍微调整的代码示例,我目前没有可用的Java编译器。
public class MyBufferedWriter extends BufferedWriter {
public void write(String str) {
if (str==null)
str="";
super.write(str);
}
}
答案 1 :(得分:0)
我知道这是一个老问题,但无论如何这是一个建议:使用OpenCSV。您要使用的课程是au.com.bytecode.opencsv.CSVWriter
答案 2 :(得分:0)
只需solendil的代码,已修复以便编译并格式化一下:
package mypackage;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.Writer;
public class MyBufferedWriter extends BufferedWriter {
public MyBufferedWriter(Writer out) {
super(out);
}
@Override
public void write(String str) throws IOException {
if (str == null)
str = "";
super.write(str);
}
}