3

我正在使用对象创建一个 CSVBufferedWriter文件ResultSet。一些数据库列null包含值。

当我打电话obj.write(rs.get())时,我得到一个NullPointerException输出是null. BufferedWriter除了我可以用来克服这个问题之外,还有其他课程吗?

我不想检查null数据库列的条件,因为有大量列。我是 Java 新手,尝试寻找解决方案,但找不到任何东西。

4

3 回答 3

5

您可以使用更聪明的 Buffered writer 来执行无效性检查。这是一个可能需要稍微调整的代码示例,我目前没有可用的 Java 编译器。

public class MyBufferedWriter extends BufferedWriter {
    public void write(String str) {
        if (str==null)
            str="";
        super.write(str);
    }
}
于 2011-11-22T13:30:13.190 回答
0

我知道这是一个老问题,但无论如何这里有一个建议:使用OpenCSV。您要使用的类是 au.com.bytecode.opencsv.CSVWriter

于 2012-05-03T01:41:29.947 回答
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);
    }
}
于 2017-11-17T05:37:05.017 回答