Reputation: 270
I am creating a CSV file using BufferedWriter
from a ResultSet
object. A few of the database columns hold null
values.
When I call obj.write(rs.get())
I am getting a NullPointerException
when the output is null
. Is there any other class other than BufferedWriter
which I can use to overcome this.
I do not want to check for null
condition on the database columns since there is large number of columns. I am new to Java and tried searching for solution but could not find anything.
Upvotes: 3
Views: 3629
Reputation: 60193
Just solendil's code, fixed so that it compiles, and formatted a bit:
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);
}
}
Upvotes: 0
Reputation: 1
I know this is an old question, but here is a suggestion anyway: Use OpenCSV. The class you want to use is au.com.bytecode.opencsv.CSVWriter
Upvotes: 0
Reputation: 8468
You can use a cleverer Buffered writer that performs the nullity check. Here is a code sample that will probably need to be tweaked a bit, I don't currently have a Java compiler available.
public class MyBufferedWriter extends BufferedWriter {
public void write(String str) {
if (str==null)
str="";
super.write(str);
}
}
Upvotes: 5