在本教程中,我們將通過一個示例學(xué)習(xí)Java OutputStream及其方法。
java.io包的OutputStream類是一個抽象超類,它表示字節(jié)的輸出流。
因?yàn)镺utputStream是一個抽象類,所以它本身并不有用。但是,它的子類可以用來寫數(shù)據(jù)。
為了使用OutputStream的功能,我們可以使用其子類。他們之中有一些是:
在下一個教程中,我們將學(xué)習(xí)所有這些子類。
為了創(chuàng)建OutputStream,我們必須先導(dǎo)入java.io.OutputStream包。導(dǎo)入包后,就可以創(chuàng)建輸出流。
//創(chuàng)建一個OutputStream OutputStream object = new FileOutputStream();
在這里,我們使用創(chuàng)建了一個輸出流對象FileOutputStream。因?yàn)镺utputStream是一個抽象類,所以我們不能創(chuàng)建的對象OutputStream。
注意:我們還可以從OutputStream類的其他子類創(chuàng)建輸出流。
OutputStream類提供了由其子類實(shí)現(xiàn)的不同方法。 以下是一些方法:
write() - 將指定的字節(jié)寫入輸出流
write(byte[] array) - 將指定數(shù)組中的字節(jié)寫入輸出流
flush() - 強(qiáng)制將輸出流中存在的所有數(shù)據(jù)寫入目標(biāo)
close() - 關(guān)閉輸出流
下面是使用FileOutputStream類實(shí)現(xiàn)OutputStream的方法。
import java.io.FileOutputStream; import java.io.OutputStream; public class Main { public static void main(String args[]) { String data = "這是文件內(nèi)的一行文本。"; try { OutputStream out = new FileOutputStream("output.txt"); //將字符串轉(zhuǎn)換為字節(jié) byte[] dataBytes = data.getBytes(); //將數(shù)據(jù)寫入輸出流 out.write(dataBytes); System.out.println("數(shù)據(jù)被寫入文件。"); //關(guān)閉輸出流 out.close(); } catch (Exception e) { e.getStackTrace(); } } }
在上面的示例中,我們使用FileOutputStream類創(chuàng)建了一個輸出流?,F(xiàn)在,輸出流已與文件output.txt鏈接。
OutputStream out = new FileOutputStream("output.txt");
要將數(shù)據(jù)寫入output.txt文件,我們已經(jīng)實(shí)現(xiàn)了這些方法。
output.write(); //將數(shù)據(jù)寫入文件 output.close(); //關(guān)閉輸出流
當(dāng)我們運(yùn)行程序時,output.txt文件將寫入以下內(nèi)容。
這是文件內(nèi)的一行文本。