使用 BufferedWriter 記得輸出文字時 flush()
BufferedWriter 是緩衝輸出流,呼叫 BufferedWriter 的 write() 方法時,文字資料先寫入到緩衝區裡,並沒有直接寫入到目的檔案。
必須呼叫 BufferedWriter 的 flush() 方法,才會清空這個緩衝流,把資料寫入到目的檔案裡。
不使用 flush 方法,直接呼叫 write() 和 close() 方法,不能把文字寫入檔案裡,並且會報錯 java.io.IOException: Stream closed
正確的輸出文字的方法:
// writeFile with BufferedWriter
public static void writeFile(String content, String outputPath){
File file = new File(outputPath);
System.out.println("檔案路徑: " + file.getAbsolutePath());
// 輸出檔案的路徑
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter out = null;
try {
// 如果檔案存在,就刪除
if(file.exists()){
file.delete();
}
file.createNewFile();
fos = new FileOutputStream(file, true);
osw = new OutputStreamWriter(fos);
out = new BufferedWriter(osw);
out.write(content);
// 清空緩衝流,把緩衝流裡的文字資料寫入到目標檔案裡
out.flush();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
try{
fos.close();
}catch(IOException e){
e.printStackTrace();
}
try{
osw.close();
}catch(IOException e){
e.printStackTrace();
}
try{
out.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
相關文章
- Apple Watch如何獲得文字輸入?APP
- 直播平臺開發,動態文字輸出,文字自動輸出
- linux-把終端輸出記錄到文字Linux
- 002.08 文字輸出排版 PySimpleGUIGUI
- 4-Windows程式設計 -文字輸出Windows程式設計
- linux shell輸出帶顏色文字Linux
- Java IO之有緩衝的文字輸出Java
- Python進階02 文字檔案的輸入輸出Python
- flush logs時做的操作
- php nginx 實時輸出PHPNginx
- 使用Linux下script工具記錄Oracle輸出LinuxOracle
- wifi模組使用主控輸出的32k時鐘WiFi
- JAVA筆記(12)——輸入和輸出Java筆記
- MySQL 使用tee記錄語句和輸出日誌MySql
- 獲得焦點時候設定文字框的樣式
- C語言學習日記(4)——輸出當前時間C語言
- javascript實時顯示文字框輸入字數JavaScript
- win10系統輸入文字時總是出現重複字元如何解決Win10字元
- python怎樣實時輸出時間Python
- 復旦等釋出AnyGPT:任意模態輸入輸出,影像、音樂、文字、語音都支援GPT
- Python 快速教程(進階篇02):文字檔案的輸入輸出Python
- JavaScript實時計算輸入文字框字元數量JavaScript字元
- 使用ofstream輸出unicodeUnicode
- 使用 SVG 輸出 OcticonSVG
- python輸出時如何換行Python
- 定時器-輸出比較PWM定時器
- 《golang筆記》第三篇-輸入輸出Golang筆記
- 5,輸入與輸出(perl語言筆記)筆記
- C++ 學習筆記之——輸入和輸出C++筆記
- 記錄輸出結果工具-script
- flush sqlSQL
- 文字框輸入文字倒計詳解
- [swift 進階]讀書筆記-第七章:字串 C7P8 文字輸出流Swift筆記字串
- PHP的ob_flush()與flush()區別PHP
- JQuery設定文字框和密碼框獲得焦點時樣式jQuery密碼
- 01_Numpy學習筆記(下):輸入和輸出筆記
- STM32系列程式碼引腳輸出上拉,測得輸出電壓太小,甚至只有0,輸出電壓太小,解決辦法
- PHP執行耗時指令碼實時輸出內容PHP指令碼