Java中FileWriter的用法及wirte()重載方法詳解
一、用法介紹
FileWriter的用法很簡單,可以總結為三個詞:創(chuàng)建(new)、寫出(write)、關閉(close);
- 創(chuàng)建(new):就是我們平時常用的 new 一個;
- 寫出(write):利用 重載方法 write() 中的某一個寫出內容;
- 關閉(close):關閉流;
以下是一個具體的舉例說明:
public class TestFileWriter {
public static void main(String[] args) throws IOException {
// 方式一,創(chuàng)建的文件會在項目里
FileWriter fileWriter1 = new FileWriter("file01.txt");
fileWriter1.write("我很驕傲我是中國人!");
fileWriter1.write("此生無悔入華夏!");
fileWriter1.write("\r\n人生自古誰無死,留取丹心照汗青!");
fileWriter1.close();
// 方式二,創(chuàng)建的文件會在指定的目錄里(注意,這里一定要有寫入的權限,否則會創(chuàng)建失?。。?
FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt");
fileWriter2.write("我很驕傲我是中國人!");
fileWriter2.close();
}
}輸出結果:

二、疑問解答
以下是匯總的幾個常見問題:
2.1、如果這個文件不存在會怎么樣?
如果這個文件不存在,那么就會幫我們自動創(chuàng)建一個,創(chuàng)建完以后的純文本文件放在哪里呢?如果不指定目錄就會放在這個 Java project 工程下面,與src目錄和target目錄同級。 如果指定目錄就會把這個文件放到指定的目錄下:如上述方式二;FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt");
2.2、如果這個文件存在的話會怎么樣?
如果這個純文本文件已經存在,并且里面有內容,此時我們再添加內容,就會覆蓋掉這個純文本文件已有的內容。
2.3、如果不想覆蓋之前的內容,想要追加內容怎么做?
其實這個也很簡單,只需要在創(chuàng)建對象的時候,選擇另外一個構造方法(重載形式的構造方法)就可以了。
FileWriter fw = new FileWriter("file01.txt", true);或者:
FileWriter fileWriter2 = new FileWriter("G:\\aaa\\file02.txt", true);2.4、添加數(shù)據(jù),如何實現(xiàn)換行呢?
往純文本文件里頭添加的數(shù)據(jù)都是在同一行的,那么如何實現(xiàn)換行呢?
注意區(qū)分操作系統(tǒng):
- Windows 操作系統(tǒng)下:\r\n
- Linux 操作系統(tǒng)下:\n
- Mac 操作系統(tǒng)下:早期使用的是 \r,現(xiàn)在使用的是 \n
比如:fileWriter1.write("人生自古誰無死,\r\n留取丹心照汗青!");
三、用法拓展
3.1、write 方法重載
write() 有五種重載方式:
- write(int c):寫入數(shù)字,利用 ASCII 碼表 或者 Unicode 表轉化
- write(String str):寫入字符串
- write(char[] cbuf):寫入字符數(shù)組
- write(String str, int off, int len):寫入字符串的一部分
- write(char[] cbuf,int off,int len):寫入字符數(shù)組的一部分
ASCII 碼表中常用的:48 - 0,65 - A,97 - a
3.2、重載示例
具體舉例說明:
public static void testOverload() throws IOException {
FileWriter fileWriter = new FileWriter("file03.txt");
// 重載方法一:寫入數(shù)字,利用 ASCII 碼表 或者 Unicode 表轉化
// ASCII 碼表中常用的:48 - 0,65 - A,97 - a
fileWriter.write(65);
fileWriter.write("\r\n");
// 定義字符串
String str = "我很驕傲我是中國人!";
// 重載方法二:寫入字符串
fileWriter.write(str);
fileWriter.write("\r\n");
// 重載方法三:寫入字符數(shù)組
char[] javaArray = {'J','a','v','a'};
fileWriter.write(javaArray);
fileWriter.write("\r\n");
// 重載方法四:寫入字符串的一部分(結果:我是中國人)
fileWriter.write(str, 4, 5);
fileWriter.write("\r\n");
// 重載方法五:寫入字符數(shù)組的一部分(結果:v)
fileWriter.write(javaArray, 2, 1);
fileWriter.close();
}輸出結果為:

到此這篇關于Java中FileWriter的用法及wirte()重載方法詳解的文章就介紹到這了,更多相關Java的FileWriter內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
微服務間調用Retrofit在Spring?Cloud?Alibaba中的使用
這篇文章主要為大家介紹了微服務間調用Retrofit在Spring?Cloud?Alibaba中的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
教你使用springSecurity+jwt實現(xiàn)互踢功能
JWT作為一個開放的標準( RFC 7519 ),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實現(xiàn)互踢功能,需要的朋友可以參考下2021-11-11
JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別
這篇文章主要介紹了JAVA面試題 從源碼角度分析StringBuffer和StringBuilder的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,下面我們來一起學習下吧2019-07-07
SpringBoot?ScheduledTaskRegistrar解決動態(tài)定時任務思路詳解
本文將從問題出發(fā),詳細介紹ScheduledTaskRegistrar類是如何解決動態(tài)調整定時任務的思路,并給出關鍵的代碼示例,幫助大家快速地上手學習2023-02-02
Java Map 循環(huán)遍歷方式與性能對比實例詳解
文章詳細介紹了Java Map的各種遍歷方式,包括entrySet+for-each、keySet+for-each、只遍歷value、Iterator+entrySet、forEach、StreamAPI和僅JDK8+的compute/merge等方法,詳細分析了每種方法的優(yōu)缺點、適用場景和性能,并提供了最佳實踐建議和常見誤區(qū)提醒2026-05-05

