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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.