大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 技術分享,Java輸出流文件

技術分享,Java輸出流文件

更新時間:2020-05-19 16:25:57 來源:動力節點 瀏覽2479次

Java輸出流

在抽象超類OutputStream中定義了三個重要的方法:write(),flush()和close()。write()方法將字節寫入輸出流。它有三個版本,允許我們一次寫一個字節或多個字節。flush()方法用于將任何緩沖的字節刷新到數據宿。close()方法關閉輸出流。要使用BufferedOutputStream裝飾器以更好的速度寫入文件,請使用以下語句:

BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream("youroutputfilepath"));

要將數據寫入ByteArrayOutputStream,請使用

ByteArrayOutputStreambaos=newByteArrayOutputStream();
baos.write(buffer);//bufferisabytearray

Java文件輸出流

要寫入文件,我們需要創建一個FileOutputStream類的對象,它將表示輸出流。當寫入文件時,如果文件不存在,Java會嘗試創建文件。我們必須準備好處理這個異常,將代碼放在try-catch塊中,如果文件包含數據,數據將被擦除。為了保留現有數據并將新數據附加到文件,我們需要使用FileOutputStream類的另一個構造函數,它接受一個布爾標志,用于將新數據附加到文件。要將數據附加到文件,請在第二個參數中傳遞true,使用以下代碼。

FileOutputStreamfos=newFileOutputStream(destFile,true);

寫數據

FileOutputStream類有一個重載的write()方法將數據寫入文件。我們可以使用不同版本的方法一次寫入一個字節或多個字節。通常,我們使用FileOutputStream寫入二進制數據。要向輸出流中寫入諸如“Hello"的字符串,請將字符串轉換為字節。String類有一個getBytes()方法,該方法返回表示字符串的字節數組。我們給FileOutputStream寫一個字符串如下:

Stringtext="Hello";
byte[]textBytes=text.getBytes();
fos.write(textBytes);

我們需要使用flush()方法刷新輸出流。刷新輸出流指示如果任何寫入的字節被緩沖,則。close()方法可能拋出一個IOException異常。如果我們希望自動關閉tit,請使用try-with-resources創建輸出流。以下代碼顯示如何將字節寫入文件輸出流。它們可以被寫入數據宿。關閉輸出流類似于關閉輸入流。我們需要使用close()方法關閉輸出流

技術分享,Java輸出流文件

Java打印流

PrintStream類是輸出流的具體裝飾器。PrintStream可以以合適的格式打印任何數據類型值,基本或對象。PrintStream可以將數據寫入輸出流不拋出IOException。如果一個方法拋出一個IOException,PrintStream設置一個內部標志,而不是拋出異常給調用者。可以使用其checkError()方法檢查該標志,如果在方法執行期間發生IOException,則返回true。PrintStream具有自動刷新功能。我們可以在其構造函數中指定它應該自動刷新寫入它的內容。如果我們將auto-flush標志設置為true,當寫入一個字節數組時,PrintStream將刷新它的內容,它的一個重載的println()方法用于寫入數據,一個換行符

技術分享,Java輸出流文件

Java數據輸出流

DataOutputStream可以將Java基本數據類型值寫入輸出流。DataOutputStream類包含一個寫入數據類型的寫入方法。它支持使用writeUTF(Stringtext)方法將字符串寫入輸出流。以下代碼將一個int值,一個double值,一個布爾值和一個字符串寫入名為primitives.dat的文件。

技術分享,Java輸出流文件

Java管道

管道連接輸入流和輸出流。

管道I/O基于生產者-消費者模式,其中生產者產生數據并且消費者消費數據。

在管道I/O中,我們創建兩個流代表管道的兩端。PipedOutputStream對象表示一端,PipedInputStream對象表示另一端。我們使用兩個對象上的connect()方法連接兩端。

我們還可以通過在創建另一個對象時將一個對象傳遞給構造函數來連接它們。

以下代碼顯示了創建和連接管道兩端的兩種方法:

第一種方法創建管道輸入和輸出流并連接它們。它使用connect方法連接兩個流。

PipedInputStreampis=newPipedInputStream();
PipedOutputStreampos=newPipedOutputStream();
pis。connect(pos);/*Connectthetwoends*/

第二種方法創建管道輸入和輸出流并連接它們。它通過將輸入管道流傳遞到輸出流構造器來連接兩個流。

PipedInputStreampis=newPipedInputStream();
PipedOutputStreampos=newPipedOutputStream(pis);

我們可以在連接管道的兩端后生成和使用數據。

我們通過使用PipedOutputStream對象的一個write()方法產生數據。無論我們對管道輸出流寫入什么,自動變得可用于管道輸入流對象進行讀取。

我們使用PipedInputStream的read()方法從管道讀取數據。如果數據在嘗試從管道讀取時不可用,則管道輸入流被阻止。

管道流具有固定容量的緩沖器,以在寫入管道和從管道讀取之間存儲數據。

我們可以設置管道容量,當我們創建它。如果管道的緩沖區已滿,則嘗試在管道上寫入將被阻止。

以下代碼創建緩沖區容量為2048字節的管道輸入和輸出流。

PipedOutputStreampos=newPipedOutputStream();
PipedInputStreampis=newPipedInputStream(pos,2048);

管道用于將數據從一個線程傳輸到另一個線程。兩個線程之間的同步由阻塞讀和寫來處理。

技術分享,Java輸出流文件

以上就是動力節點java培訓機構的小編針對“技術分享,Java輸出流文件”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲精品影院一区二区 | 成熟的女性强烈交性视频 | 咪咪色综合 | 国产伊人网 | 免看一级a一片成人123 | 又粗又大的机巴好爽视频视频 | 国产精品免费看久久久 | 亚洲综合一区二区三区四区 | 日本免费人做人一区在线观看 | 日本在线亚州精品视频在线 | 中文字幕久久久久久久系列 | 成人激情视频在线 | 国产骚b| 色婷婷.com | 欧美在线视频在线观看 | 久久夜色tv网站免费影院 | 欧美日韩在线视频一区 | 久久做 | 这里只有精品22 | 四虎永久免费影院在线 | 成人性生活视频 | 男女羞羞视频免费观看 | 四虎影视国产精品永久在线 | 久久综合噜噜激激的五月天 | 国产精品深夜福利免费观看 | 久久不射视频 | 中国特黄特级真人毛片 | 日本韩国欧美在线观看 | 久久资源365 | 手机看片久久高清国产日韩 | 国产一区二区免费在线观看 | 高清在线亚洲精品国产二区 | 婷婷的久久五月综合先锋影音 | 欧美日日操 | 一级特黄国产高清毛片97看片 | 久久精品国产亚洲妲己影院 | 欧美综合精品 | 国产一级毛片国语版 | 色婷婷久久综合中文久久一本` | 777奇米影视久久激情日韩欧美 | 五月婷婷之综合激情 |