java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)
通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)
使用FileOutputStream寫入文件的總體過程為
用File存放文件地址 用FileOutputStream打開輸出流 用write函數(shù)寫入數(shù)據(jù) close函數(shù)關(guān)閉輸出流
用File打開本地文件()
//第一步 用File打開本地文件 File f = new File("C:\\my_file.txt");
用FileOutputStream打開輸出流
FileOutputStream fout = new FileOutputStream(f);//創(chuàng)建輸出流
write( byte [ ] )寫入數(shù)據(jù)
//這里寫入字符串“你好,java;你好,世界” String str = "你好,java;你好,世界"; //定義好要寫入文件的字符串 byte[] b = str.getBytes(); //將字符串轉(zhuǎn)化為字節(jié)數(shù)組 fout.write(b); //將字節(jié)寫入文件中
關(guān)閉輸出流
fout.close(); //記得寫完要關(guān)閉輸出流
運(yùn)行截圖:
整體代碼:
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class my_FileOutStream { public static void main(String[] args) throws IOException { //第一步 用File打開本地文件 File f = new File("C:\\my_file.txt"); FileOutputStream fout = new FileOutputStream(f);//創(chuàng)建輸出流 //這里寫入字符串“你好,java;你好,世界” String str = "你好,java;你好,世界"; //定義好要寫入文件的字符串 byte[] b = str.getBytes(); //將字符串轉(zhuǎn)化為字節(jié)數(shù)組 fout.write(b); //將字節(jié)寫入文件中 fout.close(); //記得寫完要關(guān)閉輸出流 } }
java 字節(jié)流向文件中寫入指定內(nèi)容
java 提供了文件讀和寫的功能
寫主要分為字符流 和 字節(jié)流
字符流 就像這樣
這是一個(gè)老男孩的歌詞 是我們能看懂的語言
字符流則是
這是一個(gè)被編譯過的java文件 是計(jì)算機(jī)語言 是我們看不懂的 這就是要用字節(jié)流處理
能用字符流處理的就用字符流 不能用字符流處理的就用字節(jié)流 不知道能不能用字符流處理的 也用字節(jié)流
字節(jié)流是萬能的
我們先來看一段代碼
import java.io.FileOutputStream; import java.io.IOException; public class text { public static void main(String args[]) throws IOException { FileOutputStream File = new FileOutputStream("D:\\學(xué)習(xí)案例\\java\\color.java"); File.write(97); } }
這里我們引入并使用了FileOutputStream 用它創(chuàng)建了一個(gè)文件對(duì)象 這里需要注意的是 如果你放的這個(gè)目錄中 文件如果不存在 他是會(huì)幫你創(chuàng)建一個(gè)文件的
我的 D:\學(xué)習(xí)案例\java 文件夾下 并沒有這個(gè) color.java
然后我們運(yùn)行代碼
可以看到 程序就幫我們創(chuàng)建了這個(gè) color.java 當(dāng)然 如果你有 那也不影響
染后我們打開查看內(nèi)容
此時(shí)就發(fā)現(xiàn)不對(duì)了 write 寫入方法 傳的是個(gè) 97 怎么變成 a 了?
確實(shí)字節(jié)內(nèi)容時(shí)有一個(gè)轉(zhuǎn)換的 97對(duì)應(yīng)的就是 a
如果你想要 9 就是
File.write(57);
字節(jié)中 57 對(duì)應(yīng)數(shù)字 9
File.write(55);
55 對(duì)應(yīng)的就是 7
我們將color.java文件內(nèi)容清空 然后將java代碼改成
public static void main(String args[]) throws IOException { FileOutputStream File = new FileOutputStream("D:\\學(xué)習(xí)案例\\java\\color.java"); File.write(57); File.write(55); }
運(yùn)行后 再打開color.java 就看到 97啦
如果你對(duì)字節(jié)流的轉(zhuǎn)換有興趣 可以去具體了解一下
還有一個(gè)很重要的點(diǎn) 那就是 close函數(shù)的調(diào)用
File.close();
我們用了io流就要用close釋放系統(tǒng)資源
close方法放在程序的最后就行 相當(dāng)于告訴計(jì)算機(jī) 這個(gè)io資源我用完啦 你可以釋放他啦
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot過濾敏感詞的兩種實(shí)現(xiàn)方式
Spring Boot本身并不直接提供過濾敏感詞的功能,但你可以使用第三方庫或者自定義過濾器來實(shí)現(xiàn)這個(gè)需求,所以本文給大家介紹了SpringBoot過濾敏感詞的兩種實(shí)現(xiàn)方式,感興趣的朋友可以參考下2024-06-06Spring Boot+Shiro實(shí)現(xiàn)一個(gè)Http請(qǐng)求的Basic認(rèn)證
本文向向大家仔細(xì)的介紹了如何使用Shiro實(shí)現(xiàn)一個(gè)Http請(qǐng)求的Basic認(rèn)證,有此需求的朋友可以參考下本文2021-06-06struts升級(jí)到2.5.2遇到的問題及解決方案(推薦)
原來的版本是2.3.x,由于安全原因需要升級(jí)到2.5.2。但是在升級(jí)過程中遇到各種各樣的問題,下面小編給大家?guī)砹藄truts升級(jí)到2.5.2遇到的問題及解決方案,需要的朋友參考下吧2016-11-11Sping?Security前后端分離兩種實(shí)戰(zhàn)方案
這篇文章主要介紹了Sping?Security前后端分離兩種方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Java利用MultipartFile實(shí)現(xiàn)上傳多份文件的代碼
這篇文章主要介紹了Java利用MultipartFile實(shí)現(xiàn)上傳多份文件的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Java 高并發(fā)二:多線程基礎(chǔ)詳細(xì)介紹
本文主要介紹Java 高并發(fā)多線程的知識(shí),這里整理詳細(xì)的資料來解釋線程的知識(shí),有需要的學(xué)習(xí)高并發(fā)的朋友可以參考下2016-09-09Spring數(shù)據(jù)庫事務(wù)的實(shí)現(xiàn)機(jī)制講解
這篇文章主要介紹了Spring數(shù)據(jù)庫事務(wù)的實(shí)現(xiàn)機(jī)制講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10