這是一個日誌記錄功能,它記錄執行外部程序時的錯誤流。一切正常。但是我不想在錯誤流中沒有數據時生成日誌文件。目前它正在創建零大小的文件。請幫忙。當輸入流中沒有數據時,跳過在FileOutputStream中創建文件
FileOutputStream fos = new FileOutputStream(logFile);
PrintWriter pw = new PrintWriter(fos);
Process proc = Runtime.getRuntime().exec(externalProgram);
InputStreamReader isr = new InputStreamReader(proc.getErrorStream());
BufferedReader br = new BufferedReader(isr);
String line=null;
while ((line = br.readLine()) != null)
{
if (pw != null){
pw.println(line);
pw.flush();
}
}
謝謝。
感謝@喬恩飛碟雙向。我發現我的錯誤。我試圖推遲只有PrintWriter,因爲FileOutputStream實際上是該函數的一個參數。看起來我需要將我的參數類型更改爲File,然後在循環內部創建FileOutputStream。 – Sujee 2010-07-26 12:57:30