Java IO面試題【Java面試題】_第1頁
Java IO面試題【Java面試題】_第2頁
Java IO面試題【Java面試題】_第3頁
Java IO面試題【Java面試題】_第4頁
Java IO面試題【Java面試題】_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

newInputStreamReader(newInputStream(){publicintread()throwsIOException{return0;}});字節(jié)輸出流轉(zhuǎn)字符輸出流通過OutputStreamWriter實現(xiàn),該類的構(gòu)造函數(shù)可以傳入OutputStream對象。newOutputStreamWriter(newOutputStream(){publicvoidwrite(intb)throwsIOException{}});HYPERLINK3、如何將一個java對象序列化到文件里?在java中能夠被序列化的類必須先實現(xiàn)Serializable接口,該接口沒有任何抽象方法只是起到一個標(biāo)記作用。publicclassTest{publicstaticvoidmain(String[]args)throwsException{//對象輸出流ObjectOutputStreamobjectOutputStream=newObjectOutputStream(newFileOutputStream(newFile(“D://obj”)));objectOutputStream.writeObject(newUser(“zhangsan”,100));objectOutputStream.close();//對象輸入流ObjectInputStreamobjectInputStream=newObjectInputStream(newFileInputStream(newFile(“D://obj”)));Useruser=(User)objectInputStream.readObject();System.out.println(user);objectInputStream.close();}}HYPERLINK4、字節(jié)流和字符流的區(qū)別?字節(jié)流讀取的時候,讀到一個字節(jié)就返回一個字節(jié);字符流使用了字節(jié)流讀到一個或多個字節(jié)(中文對應(yīng)的字節(jié)數(shù)是兩個,在UTF-8碼表中是3個字節(jié))時。先去查指定的編碼表,將查到的字符返回。字節(jié)流可以處理所有類型數(shù)據(jù),如:圖片,MP3,AVI視頻文件,而字符流只能處理字符數(shù)據(jù),只要是處理純文本數(shù)據(jù),就要優(yōu)先考慮使用字符流,除此之外都用字節(jié)流。字節(jié)流主要是操作byte類型數(shù)據(jù),以byte數(shù)組為準(zhǔn),主要操作類就是OutputStream、InputStream字符流處理的單元為2個字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個字節(jié),操作字節(jié)和字節(jié)數(shù)組。所以字符流是由Java虛擬機將字節(jié)轉(zhuǎn)化為2個字節(jié)的Unicode字符為單位的字符而成的,所以它對多國語言支持性比較好!如果是音頻文件、圖片、歌曲,就用字節(jié)流好點,如果是關(guān)系到中文(文本)的,用字符流好點。在程序中一個字符等于兩個字節(jié),java提供了Reader、Writer兩個專門操作字符流的類。HYPERLINK5、如何實現(xiàn)對象克隆?有兩種方式:●實現(xiàn)Cloneable接口并重寫Object類中的clone()方法;●實現(xiàn)Serializable接口,通過對象的序列化和反序列化實現(xiàn)克隆,可以實現(xiàn)真正的深度克隆,代碼如下:classMyUtil{privateMyUtil(){thrownewAssertionError();}publicstaticTclone(Tobj)throwsException{ByteArrayOutputStreambout=newByteArrayOutputStream();ObjectOutputStreamoos=newObjectOutputStream(bout);oos.writeObject(obj);ByteArrayInputStreambin=newByteArrayInputStream(bout.toByteArray());ObjectInputStreamois=newObjectInputStream(bin);return(T)ois.readObject();//說明:調(diào)用ByteArrayInputStream或ByteArrayOutputStream對象的close方法沒有任何意義//這兩個基于內(nèi)存的流只要垃圾回收器清理對象就能夠釋放資源,這不同于對外部資源(如文件流)的釋放}}測試代碼:importjava.io.Serializable;/**人類*/classPersonimplementsSerializable{privatestaticfinallongserialVersionUID=-91020170202878978L;privateStringname;//姓名privateintage;//年齡??【8年大廠專家】Java全棧開發(fā)實戰(zhàn)寶典????背景亮點:-浙大系|華為/字節(jié)/阿里技術(shù)專家-GitHub5k+Star開源貢獻(xiàn)者-專精分布式架構(gòu)/JVM調(diào)優(yōu)/高并發(fā)??獨家資源《2025Java精英成長包》:?零基礎(chǔ)→架構(gòu)師全鏈路課程?大廠高頻面試題庫+解析?千萬級并發(fā)項目實戰(zhàn)案例?持續(xù)更新的技術(shù)棧白皮書?技術(shù)答疑社群(每日專家在線)?簡歷優(yōu)化+模擬面試服務(wù)?頭部互聯(lián)網(wǎng)公司內(nèi)推通道??立即領(lǐng)取:搜索徽心十作者【vip1024b】備注“Java”前50名贈送《JVM調(diào)優(yōu)實戰(zhàn)手冊》電子版privateCarcar;//座駕publicPerson(Stringname,intage,Carcar){=name;this.age=age;this.car=car;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicCargetCar(){returncar;}publicvoidsetCar(Carcar){this.car=car;}@OverridepublicStringtoString(){return“Person[name="+name+“,age=”+age+“,car=”+car+“]”;}}/**小汽車類*/classCarimplementsSerializable{privatestaticfinallongserialVersionUID=-57138907627603702L;privateStringbrand;//品牌privateintmaxSpeed;//最高時速publicCar(Stringbrand,intmaxSpeed){this.brand=brand;this.maxSpeed=maxSpeed;}publicStringgetBrand(){returnbrand;}publicvoidsetBrand(Stringbrand){this.brand=brand;}publicintgetMaxSpeed(){returnmaxSpeed;}publicvoidsetMaxSpeed(intmaxSpeed){this.maxSpeed=maxSpeed;}@OverridepublicStringtoString(){return“Car[brand="+brand+“,maxSpeed=”+maxSpeed+“]”;}}classCloneTest{publicstaticvoidmain(String[]args){try{Personp1=newPerson(“dujubin”,33,newCar(“Benz”,300));Personp2=MyUtil.clone(p1);//深度克隆p2.getCa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論