我有一個小問題,我做了一個函數。 我希望每次給這個函數一個字符串時,它會把我保存到同一個文件中的一個新行中,但實際上現在只保存最後一個字符串Im的活動。這就像一遍又一遍的重寫,需要一些幫助BufferedOutputStream多行寫入文件
public void WritingGZFile(String directory, String linesWithPattern, String newFile) throws IOException
{
newFile = directory + '\\' + newFile;
BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(
newFile)));
out.write(linesWithPattern.getBytes());
out.write("\r\n".getBytes());
out.close();
}
例如在BufferedWriter中有一個名爲newLine的方法可以幫助做到這一點。
但由於我想使用GZIPOutputStream類,我需要BufferedOutputStream。
任何ideeas如何做到這一點?謝謝ypu
如果您執行新的FileOutputStream(newFile,true)來告訴它追加而不是重寫,會發生什麼? – ControlAltDel 2014-10-07 19:28:38
使用BufferedOutputStream時,在關閉它之前,還應該使用'out.flush()'。 – Ascalonian 2014-10-07 19:30:04
@Ascalonian如果關閉(),則不需要flush()。 – eckes 2014-10-07 19:31:45