這篇文章主要介紹了java中io流面試題有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)建站從2013年開始,先為卡若等服務(wù)建站,卡若等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為卡若企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。
1.什么是IO流
它是一種數(shù)據(jù)的流從源頭流到目的地。比如文件拷貝,輸入流和輸出流都包括了。輸入流從文件中讀取數(shù)據(jù)存儲到進(jìn)程(process)中,輸出流從進(jìn)程中讀取數(shù)據(jù)然后寫入到目標(biāo)文件。
2.java中有幾種類型的流
字符流和字節(jié)流。字節(jié)流繼承inputStream和OutputStream,字符流繼承自InputSteamReader和OutputStreamWriter。
3.字節(jié)流如何轉(zhuǎn)為字符流
字節(jié)輸入流轉(zhuǎn)字符輸入流通過 InputStreamReader 實(shí)現(xiàn),該類的構(gòu)造函數(shù)可以傳入 InputStream 對象。
字節(jié)輸出流轉(zhuǎn)字符輸出流通過 OutputStreamWriter 實(shí)現(xiàn),該類的構(gòu)造函數(shù)可以傳入 OutputStream 對象。
4.字節(jié)流與字符流的區(qū)別
以字節(jié)為單位輸入輸出數(shù)據(jù),字節(jié)流按照8位傳輸
以字符為單位輸入輸出數(shù)據(jù),字符流按照16位傳輸
5.談?wù)凧ava IO里面的常見類,字節(jié)流,字符流、接口、實(shí)現(xiàn)類、方法阻塞
答:輸入流就是從外部文件輸入到內(nèi)存,輸出流主要是從內(nèi)存輸出到文件。
IO里面常見的類,第一印象就只知道IO流中有很多類,IO流主要分為字符流和字節(jié)流。字符流中有抽象類InputStream和OutputStream,它們的子類FileInputStream,F(xiàn)ileOutputStream,BufferedOutputStream等。字符流BufferedReader和Writer等。都實(shí)現(xiàn)了Closeable, Flushable, Appendable這些接口。程序中的輸入輸出都是以流的形式保存的,流中保存的實(shí)際上全都是字節(jié)文件。
java中的阻塞式方法是指在程序調(diào)用改方法時,必須等待輸入數(shù)據(jù)可用或者檢測到輸入結(jié)束或者拋出異常,否則程序會一直停留在該語句上,不會執(zhí)行下面的語句。比如read()和readLine()方法。
6.簡述File類的基本功能
處理文件和獲取文件信息,文件或文件夾的管理
除了讀寫文件內(nèi)容其他的都可以做
7.什么是 java 序列化,如何實(shí)現(xiàn) java 序列化?
序列化就是一種用來處理對象流的機(jī)制,所謂對象流也就是將對象的內(nèi)容進(jìn)行流化??梢詫α骰蟮膶ο筮M(jìn)行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進(jìn)行讀寫操作時所引發(fā)的問題。序 列 化 的 實(shí) 現(xiàn) : 將 需 要 被 序 列 化 的 類 實(shí) 現(xiàn) Serializable 接 口 , 該 接 口 沒 有 需 要 實(shí) 現(xiàn) 的 方 法 , implements Serializable 只是為了標(biāo)注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個 ObjectOutputStream(對象流)對象,接著,使用 ObjectOutputStream 對象的 writeObject(Object obj)方法就可以將參數(shù)為 obj 的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。
8.FileInputStream和FileOutputStream是什么
這是在拷貝文件操作的時候,經(jīng)常用到的兩個類。在處理小文件的時候,它們性能表現(xiàn)還不錯,在大文件的時候,最好使用BufferedInputStream (或 BufferedReader) 和 BufferedOutputStream (或 BufferedWriter)
實(shí)例:
public class InputAndOutputBuffering { public static void main(String args[]) throws IOException { FileInputStream fistream = new FileInputStream("pqr.txt"); BufferedInputStream bistream = new BufferedInputStream(fistream); FileOutputStream fostream = new FileOutputStream("xyz.txt"); BufferedOutputStream bostream = new BufferedOutputStream(fostream); int temp; while( ( temp = bistream.read() ) != -1 ) { bostream.write(temp); System.out.print((char) temp); } bostream.close(); fostream.close(); bistream.close(); fistream.close(); } }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java中io流面試題有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!