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、添加數據,如何實現換行呢?
往純文本文件里頭添加的數據都是在同一行的,那么如何實現換行呢?
注意區(qū)分操作系統(tǒng):
- Windows 操作系統(tǒng)下:\r\n
- Linux 操作系統(tǒng)下:\n
- Mac 操作系統(tǒng)下:早期使用的是 \r,現在使用的是 \n
比如:fileWriter1.write("人生自古誰無死,\r\n留取丹心照汗青!");
三、用法拓展
3.1、write 方法重載
write() 有五種重載方式:
- write(int c):寫入數字,利用 ASCII 碼表 或者 Unicode 表轉化
- write(String str):寫入字符串
- write(char[] cbuf):寫入字符數組
- write(String str, int off, int len):寫入字符串的一部分
- write(char[] cbuf,int off,int len):寫入字符數組的一部分
ASCII 碼表中常用的:48 - 0,65 - A,97 - a
3.2、重載示例
具體舉例說明:
public static void testOverload() throws IOException { FileWriter fileWriter = new FileWriter("file03.txt"); // 重載方法一:寫入數字,利用 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"); // 重載方法三:寫入字符數組 char[] javaArray = {'J','a','v','a'}; fileWriter.write(javaArray); fileWriter.write("\r\n"); // 重載方法四:寫入字符串的一部分(結果:我是中國人) fileWriter.write(str, 4, 5); fileWriter.write("\r\n"); // 重載方法五:寫入字符數組的一部分(結果:v) fileWriter.write(javaArray, 2, 1); fileWriter.close(); }
輸出結果為:
到此這篇關于Java中FileWriter的用法及wirte()重載方法詳解的文章就介紹到這了,更多相關Java的FileWriter內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot中@Value獲取值和@ConfigurationProperties獲取值用法及比較
在Spring Boot中,@Value注解是一個非常有用的特性,它允許我們將外部的配置注入到我們的Bean中,@ConfigurationProperties用于將配置文件中的屬性綁定到 Java Bean 上,本文介紹了@Value獲取值和@ConfigurationProperties獲取值用法及比較,需要的朋友可以參考下2024-08-08Java抽象類和普通類區(qū)別、 數組跟List的區(qū)別解析
這篇文章主要介紹了Java抽象類和普通類區(qū)別、 數組跟List的區(qū)別,在這里需要注意List是一個接口,不能直接實例化,需要使用具體的實現類來創(chuàng)建對象,本文結合示例代碼介紹的非常詳細,需要的朋友參考下吧2023-09-09