這篇文章給大家介紹PrintStream和PrintWriter有什么區(qū)別,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括五華網(wǎng)站建設(shè)、五華網(wǎng)站制作、五華網(wǎng)頁制作以及五華網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,五華網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到五華省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!PrintStream和PrintWriter的API幾乎相同,都能輸出各種形式的數(shù)據(jù),構(gòu)造方法也幾乎相同
PrintWriter多了個(gè)接受Writer參數(shù)
API比較:
那么,它們的區(qū)別究竟在哪里?來自stackflow
主要意思就是,2個(gè)類的功能基本相同,PrintStream能做的PrintWriter也都能實(shí)現(xiàn),并且PrintWriter的功能更為強(qiáng)大。但是由于PrintWriter出現(xiàn)的比較晚,較早的System.out使用的是PrintStream來實(shí)現(xiàn)的,所以為了兼容就沒有廢棄PrintStream。
2個(gè)類大的差別是,PrintStream在輸出字符,將字符轉(zhuǎn)換為字節(jié)時(shí)采用的是系統(tǒng)默認(rèn)的編碼格式,這樣當(dāng)數(shù)據(jù)傳輸另一個(gè)平臺(tái),而另一個(gè)平臺(tái)使用另外一個(gè)編碼格式解碼時(shí)就會(huì)出現(xiàn)問題,存在不可控因素。而PrintWriter可以在傳入Writer時(shí)可由程序員指定字符轉(zhuǎn)換為字節(jié)時(shí)的編碼格式,這樣兼容性和可控性會(huì)更好。
下面這個(gè)程式顯示了PrintStream與PrintWriter兩個(gè)物件在處理相同輸出目的時(shí)的作法,程式將會(huì)在熒幕上顯示 "簡體中文" 四個(gè)字元:
StreamWriterDemo.java package onlyfun.caterpillar; import java.io.*; public class StreamWriterDemo { public static void main(String[] args) { try { byte[] sim = {(byte)0xbc, (byte)0xf2, // 簡 (byte)0xcc, (byte)0xe5, // 體 (byte)0xd6, (byte)0xd0, // 中 (byte)0xce, (byte)0xc4 } ; // 文 InputStreamReader inputStreamReader = new InputStreamReader(new ByteArrayInputStream(sim), "GB2312"); PrintWriter printWriter =new PrintWriter(new OutputStreamWriter(System.out, "GB2312")); PrintStream printStream =new PrintStream(System.out, true, "GB2312"); int in; while((in = inputStreamReader.read()) != -1) { printWriter.println((char)in); printStream.println((char)in); } inputStreamReader.close(); printWriter.close(); printStream.close(); } catch(ArrayIndexOutOfBoundsException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }
關(guān)于PrintStream和PrintWriter有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站名稱:PrintStream和PrintWriter有什么區(qū)別-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article34/ceshse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、小程序開發(fā)、網(wǎng)站策劃、外貿(mào)建站、企業(yè)建站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容