我正在使用对象创建一个 CSVBufferedWriter
文件ResultSet
。一些数据库列null
包含值。
当我打电话obj.write(rs.get())
时,我得到一个NullPointerException
输出是null
. BufferedWriter
除了我可以用来克服这个问题之外,还有其他课程吗?
我不想检查null
数据库列的条件,因为有大量列。我是 Java 新手,尝试寻找解决方案,但找不到任何东西。
我正在使用对象创建一个 CSVBufferedWriter
文件ResultSet
。一些数据库列null
包含值。
当我打电话obj.write(rs.get())
时,我得到一个NullPointerException
输出是null
. BufferedWriter
除了我可以用来克服这个问题之外,还有其他课程吗?
我不想检查null
数据库列的条件,因为有大量列。我是 Java 新手,尝试寻找解决方案,但找不到任何东西。
您可以使用更聪明的 Buffered writer 来执行无效性检查。这是一个可能需要稍微调整的代码示例,我目前没有可用的 Java 编译器。
public class MyBufferedWriter extends BufferedWriter {
public void write(String str) {
if (str==null)
str="";
super.write(str);
}
}
我知道这是一个老问题,但无论如何这里有一个建议:使用OpenCSV。您要使用的类是 au.com.bytecode.opencsv.CSVWriter
只是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);
}
}