Java中FileOutputStream類的使用
1.FileOutputStream類的作用
將數(shù)據(jù)寫入到文件中去
2.FileOutputStream類的使用步驟
(1)導(dǎo)入相關(guān)類的包
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;
(2)創(chuàng)建FileOutputStream類對(duì)象

此時(shí)會(huì)顯示異常,可點(diǎn)擊紅色波浪線,使用快捷鍵alt+回車,選擇第一個(gè)添加異常到方法簽名,或者自己添加異常到方法簽名。

即可創(chuàng)建FileOutputStream類對(duì)象
public class FileOutputStreamDemo {
public static void main(String[] args) throws FileNotFoundException {
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
}
}注:在創(chuàng)建字節(jié)輸出流對(duì)象時(shí),參數(shù)可以是字符串表示的路徑或者是File對(duì)象若文件不存在則會(huì)創(chuàng)建一個(gè)新的文件,但是要保證其父級(jí)路徑存在若文件已經(jīng)存在,則會(huì)清空文件(即新寫入的數(shù)據(jù)會(huì)覆蓋之前的內(nèi)容)
(3)寫入數(shù)據(jù)
調(diào)用write方法寫入數(shù)據(jù)
(a).void write(int b) 一次寫入一個(gè)字節(jié)數(shù)據(jù)
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
//IOException是FileNotFoundException的父類,因此只寫IOException即可
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
//傳入的是int類型數(shù)據(jù),但實(shí)際寫到文件中的是整數(shù)在ASCII上對(duì)應(yīng)的字符
fos.write(97);
//相同的,拋出異常
}
}(b).void write(byte[] b) 一次寫入一個(gè)字節(jié)數(shù)組數(shù)據(jù)
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
byte[] bytes1 = {97,98,99,100,101};
fos.write(bytes1);
//一次寫入一個(gè)字節(jié)數(shù)組數(shù)據(jù)
}
}(c).void write(byte[] b,int off,int len) 一次寫入一個(gè)字節(jié)數(shù)組的部分?jǐn)?shù)據(jù)
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
byte[] bytes1 = {97,98,99,100,101};
fos.write(bytes1,2,4);
//off:起始字節(jié)索引,len:寫入的字節(jié)個(gè)數(shù)
}
}換行寫入數(shù)據(jù)
想要實(shí)現(xiàn)換行寫入數(shù)據(jù),只需寫入換行符即可
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
//創(chuàng)建一個(gè)字符串,內(nèi)容為換行符
fos.write(97);
String str1 = "\r\n";//也可以只寫\r或者\(yùn)n但最好寫完整
//調(diào)用getBytes()方法,將字符串中內(nèi)容轉(zhuǎn)換為字節(jié)數(shù)組
byte[] bytes1 = str1.getBytes();
fos.write(bytes1);
//同樣的,可以用字符串的方式創(chuàng)建較長(zhǎng)的數(shù)據(jù),再調(diào)用getBytes()方法,轉(zhuǎn)換為字節(jié)數(shù)組
String str2 = "asdfghjklqwert";
byte[] bytes2 = str2.getBytes();
fos.write(bytes2);
}
}續(xù)寫
想要實(shí)現(xiàn)續(xù)寫(在文件原有數(shù)據(jù)后面接著寫入新的數(shù)據(jù)),只需要在創(chuàng)建文件輸出流對(duì)象時(shí)傳入第二個(gè)參數(shù)true

即可進(jìn)行續(xù)寫
(4)關(guān)流
每次使用完流之后都要關(guān)流,即斷開程序與文件之間的鏈接
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt");
byte[] bytes1 = {97,98,99,100,101};
fos.write(bytes1,2,4);
//關(guān)流
fos.close();
}
}下面為續(xù)寫的完整代碼,其余代碼基本上只需添加關(guān)流即可。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
//創(chuàng)建輸出流對(duì)象
FileOutputStream fos = new FileOutputStream("D:\\新建文件夾\\a.txt",true);
//寫入續(xù)寫數(shù)據(jù)
String str = "asdfghjklqwert";
byte[] bytes = str.getBytes();
fos.write(bytes);
//關(guān)流
fos.close();
}
}到此這篇關(guān)于Java中FileOutputStream類的使用的文章就介紹到這了,更多相關(guān)Java FileOutputStream類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb實(shí)體類轉(zhuǎn)為json對(duì)象的實(shí)現(xiàn)方法
這篇文章主要介紹了JavaWeb實(shí)體類轉(zhuǎn)為json對(duì)象的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
使用SpringBoot編寫一個(gè)優(yōu)雅的單元測(cè)試
這篇文章主要為大家詳細(xì)介紹了如何使用SpringBoot編寫一個(gè)優(yōu)雅的單元測(cè)試,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-07-07
Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法
這篇文章主要介紹了Springboot 使用內(nèi)置tomcat禁止不安全HTTP的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java基礎(chǔ)之 Arrays.toString()方法詳解
這篇文章主要介紹了java基礎(chǔ)之 Arrays.toString()方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2021-02-02
學(xué)習(xí)spring事務(wù)與消息隊(duì)列
這篇文章主要為大家詳細(xì)介紹了spring事務(wù)與消息隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
logback和log4j日志框架堆棧信息添加TraceId方式
這篇文章主要介紹了logback和log4j日志框架堆棧信息添加TraceId方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
ThreadPoolExecutor線程池原理及其execute方法(詳解)
下面小編就為大家?guī)?lái)一篇ThreadPoolExecutor線程池原理及其execute方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-06-06
Reactor定制一個(gè)生產(chǎn)的WebClient實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Reactor定制一個(gè)生產(chǎn)的WebClient實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

