高級(jí)IO流(字節(jié)流復(fù)制文本文件)

案例:分別用字符流和字節(jié)流進(jìn)行圖片的復(fù)制

類(lèi)InputStream? 字節(jié)輸入流? java.io包下

InputStream是抽象類(lèi),若想實(shí)現(xiàn),必須用子類(lèi)去實(shí)現(xiàn)它

*子類(lèi)? ? ? ? FileInputStream? 從文件系統(tǒng)中的某個(gè)文件中獲取輸入字節(jié),用于圖像數(shù)據(jù)之類(lèi)原始字節(jié)流

*BufferedInputStream? ? 字節(jié)高效流

*類(lèi)OutputStream? 字節(jié)輸出流? java.io包下

*子類(lèi)? ? ? ? FileOutputStream

分別用字符流和字節(jié)流復(fù)制圖片

(1)使用字符流復(fù)制——————無(wú)法打開(kāi)此文件

(2)使用字節(jié)流

? ? 二進(jìn)制文件只能使用字節(jié)流進(jìn)行復(fù)制(使用Windows自帶的記事本打開(kāi))

? ? 二進(jìn)制文件:視頻、文件、音頻等

? ? 文本文件的復(fù)制既可以使用字符流也可以使用字節(jié)流

*/

public class InputStreamtest2 {

public static void main(String[] args) throws IOException {

/*//使用字符流復(fù)制——————無(wú)法打開(kāi)此文件

FileReader fr=new FileReader("InputStreamtest.java");

FileWriter fw=new FileWriter("D:\\FileReader");

//一次讀寫(xiě)一個(gè)字符數(shù)組

char[] s=new char[1024];

? ? ? ? int? len;

? ? ? ? while((len=fr.read(s))!=-1) {

? ? ? ? fw.write(s, 0, len);

? ? ? ? fw.flush();

? ? ? ? //System.out.println(s);

?}

? ? ? ? fr.close();

? ? ? ? fw.close();

}*/

//使用字符流復(fù)制

FileInputStream? fir=new FileInputStream("InputStreamtest.java");

FileOutputStream fow=new FileOutputStream ("E:\\FileReader");

//一次讀寫(xiě)一個(gè)字節(jié)數(shù)組

byte[] s=new byte[1024];

? ? ? ? int? len;

? ? ? ? while((len=fir.read(s))!=-1) {

? ? fow.write(s, 0, len);? ? ? ??

? ? ? ? //System.out.println(s.toString()); ? ? ? ?

? ? ? ? }

? ? ? ? fir.close();

? ? ? ? fow.close();

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容