I am trying to print a large string(single line) into a file. But the string is getting truncated in between. Any idea on why this is happening?
void writeToFile(String schemaString,String message){
try{
FileWriter fw = new FileWriter("D:\\Servicelog.txt", true);
java.util.Date date= new java.util.Date();
fw.write(new Timestamp(date.getTime())+"\n");
fw.write(message+"\n");
fw.write("schemaBegins\n"+schemaString+"\n"+"schemaEnds");
}catch(Exception e){
e.printStackTrace();
}
}
You should remember to close the file.
FileWriter fw = null;
try {
fw = new FileWriter("D:\\Servicelog.txt", true);
java.util.Date date = new java.util.Date();
fw.write(new Timestamp(date.getTime()) + "\n");
fw.write(message + "\n");
fw.write("schemaBegins\n" + schemaString + "\n" + "schemaEnds");
} catch (Exception e) {
e.printStackTrace();
} finally {
if ( fw != null ) {
fw.close();
}
}
Java7 and newer encapsulate that mechanism using try-with-resources:
try (FileWriter fw = new FileWriter("D:\\Servicelog.txt", true) ) {
java.util.Date date = new java.util.Date();
fw.write(new Timestamp(date.getTime()) + "\n");
fw.write(message + "\n");
fw.write("schemaBegins\n" + schemaString + "\n" + "schemaEnds");
} catch (Exception e) {
e.printStackTrace();
}
Writing to any Writer
can be buffered, leaving some of the data unwritten if you do not close it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With