日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java IO流面试总结

發(fā)布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java IO流面试总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.什么是比特(Bit),什么是字節(jié)(Byte),什么是字符(Char),它們長度是多少,各有什么區(qū)別

答案

Bit最小的二進制單位 ,是計算機的操作部分 取值0或者1
Byte是計算機操作數(shù)據(jù)的最小單位由8位bit組成 取值(-128-127)
Char是用戶的可讀寫的最小單位,在Java里面由16位bit組成 取值(0-65535)

Bit 是最小單位 計算機 只能認識 0或者1?

8個字節(jié) 是給計算機看的
字符 是看到的東西? 一個字符=二個字節(jié)

?2.什么是流,按照傳輸?shù)膯挝?分成哪兩種流,并且他們的父類叫什么流是指數(shù)據(jù)的傳輸

答案

字節(jié)流,字符流?
字節(jié)流:InputStream OutputStream
字符流:Reader Writer

3.流按照傳輸?shù)姆较蚩梢苑譃槟膬煞N,分別舉例說明

答案

輸入輸出相對于程序
輸入流InputStream
,輸出流OutputStream

4.按照實現(xiàn)功能分為哪兩種,分別舉例說明

答案

節(jié)點流,處理流
節(jié)點流:OutputStream
處理流: OutputStreamWriter

??5.BufferedReader屬于哪種流,它主要是用來做什么的,它里面有那些經(jīng)典的方法

答案

屬于處理流中的緩沖流,可以將讀取的內(nèi)容存在內(nèi)存里面,有readLine()方法

??6.什么是節(jié)點流,什么是處理流,它們各有什么用處,處理流的創(chuàng)建有什么特征

答案

節(jié)點流 直接與數(shù)據(jù)源相連,用于輸入或者輸出
處理流:在節(jié)點流的基礎上對之進行加工,進行一些功能的擴展
處理流的構(gòu)造器必須要 傳入節(jié)點流的子類

??7.如果我要對字節(jié)流進行大量的從硬盤讀取,要用那個流,為什么

答案

BufferedInputStream?使用緩沖流能夠減少對硬盤的損傷

??8.如果我要打印出不同類型的數(shù)據(jù)到數(shù)據(jù)源,那么最適合的流是那個流,為什么

答案

Printwriter?可以打印各種數(shù)據(jù)類型

??9.怎么樣把我們控制臺的輸出改成輸出到一個文件里面,這個技術(shù)叫什么

答案

SetOut(printWriter,printStream)重定向

??11.怎么樣把輸出字節(jié)流轉(zhuǎn)換成輸出字符流,說出它的步驟

答案

使用?轉(zhuǎn)換處理流OutputStreamWriter?可以將字節(jié)流轉(zhuǎn)為字符流
New OutputStreamWriter(new FileOutputStream(File file));

??12.把包括基本類型在內(nèi)的數(shù)據(jù)和字符串按順序輸出到數(shù)據(jù)源,或者按照順序從數(shù)據(jù)源讀入,一般用哪兩個流

答案

DataInputStream DataOutputStream

??13.把一個對象寫入數(shù)據(jù)源或者從一個數(shù)據(jù)源讀出來,用哪兩個流

答案

ObjectInputStream ObjectOutputStream

???14.什么叫對象序列化,什么是反序列化,實現(xiàn)對象序列化需要做哪些工作

答案

對象序列化,將對象以二進制的形式保存在硬盤上
反序列化;將二進制的文件轉(zhuǎn)化為對象讀取
實現(xiàn)serializable接口

不想讓字段放在硬盤上就加transient

??15.如果在對象序列化的時候不想給一個字段的數(shù)據(jù)保存在硬盤上面,采用那個關鍵字?

答案

transient關鍵字

??16.在實現(xiàn)序列化接口是時候一般要生成一個serialVersionUID字段,它叫做什么,一般有什么用

答案

是版本號,要保持版本號的一致?來進行序列化

為了防止序列化出錯

17.InputStream里的read()返回的是什么,read(byte[] data)是什么意思,返回的是什么值

答案

返回的是所讀取的字節(jié)的int型(范圍0-255)
read(byte [ ] data)將讀取的字節(jié)儲存在這個數(shù)組
返回的就是傳入數(shù)組參數(shù)個數(shù)

Read??字節(jié)讀取字節(jié)??字符讀取字符

??18.OutputStream里面的write()是什么意思,write(byte b[], int off, int len)這個方法里面的三個參數(shù)分別是什么意思

答案

write將指定字節(jié)傳入數(shù)據(jù)源
Byte b[ ]是byte數(shù)組
b[off]是傳入的第一個字符
b[off+len-1]是傳入的最后的一個字符?
len是實際長度

??19.流一般需要不需要關閉,如果關閉的話在用什么方法,一般要在那個代碼塊里面關閉比較好,處理流是怎么關閉的,如果有多個流互相調(diào)用傳入是怎么關閉的?

答案

流一旦打開就必須關閉,使用close方法
放入finally語句塊中(finally?語句一定會執(zhí)行)
調(diào)用的處理流就關閉處理流
多個流互相調(diào)用只關閉最外層的流

??20.Java中的所有的流可以分為幾大類,它們的名字是什么,各代表什么

答案

分為?字節(jié)輸入流?InputStream?
字節(jié)輸出流?OutputStream
字符輸入流?Reader
字符輸出流?Writer
所有流都是這四個流的子類


說下常用的io流

Icon InputStream,OutputStream,
FileInputStream,FileOutputStream,
BufferedInputStream,BufferedOutputStream
Reader,Writer
BufferedReader,BufferedWriter


21 寫一段代碼讀取一個序列化的對象一般使用哪種Stream?

Icon A、InputStream B、FileReader C、DataInputStream?D、ObjectStream


22 io流怎樣讀取文件的?

Icon 使用File對象獲取文件路徑,通過字符流Reader加入文件,使用字符緩存流BufferedReader處理Reader,再定義一個字符串,循環(huán)遍歷出文件。代碼如下:
File file =?new?File("d:/spring.txt");
try?{
Reader reader =?new?FileReader(file);
BufferedReader?buffered?=?new?BufferedReader(reader);
String data =?null;
while((data = buffered.readLine())!=null){
System.out.println(data);
}
}?catch?(FileNotFoundException e) {
e.printStackTrace();
}?catch?(IOException e) {
e.printStackTrace();
}


23 說說你對io流的理解

Icon Io流主要是用來處理輸入輸出問題,常用的io流有InputStream,OutputStream,Reader,Writer等


24 JAVA的IO流和readLine方法

Icon Java的io流用來處理輸入輸出問題,readLine是BufferedReader里的一個方法,用來讀取一行。


25 用什么把對象動態(tài)的寫入磁盤中,寫入要實現(xiàn)什么接口。

Icon ObjectInputStream,需要實現(xiàn)Serializable接口

26 ?FileInputStream 創(chuàng)建詳情,就是怎樣的創(chuàng)建不報錯,它列出了幾種形式!

Icon FileInputStream是InputStream的子類,通過接口定義,子類實現(xiàn)創(chuàng)建FileInputStream,


27 用io流中的技術(shù),指定一個文件夾的目錄,獲取此目錄下的所有子文件夾路徑?

28 請問你在什么情況下會在你得java代碼中使用可序列化? 如何實現(xiàn)java序列化?

Icon 把一個對象寫入數(shù)據(jù)源或者從一個數(shù)據(jù)源讀出來,使用可序列化,需要實現(xiàn)Serializable接口
28 PrintStream、BufferedWriter、PrintWriter的比較??
PrintStream類的輸出功能非常強大,通常如果需要輸出文本內(nèi)容,都應該將輸出流包裝成PrintStream后進行輸出。它還提供其他兩項功能。與其他輸出流不同,PrintStream 永遠不會拋出 IOException;而是,異常情況僅設置可通過 checkError 方法測試的內(nèi)部標志。另外,為了自動刷新,可以創(chuàng)建一個 PrintStream
BufferedWriter:將文本寫入字符輸出流,緩沖各個字符從而提供單個字符,數(shù)組和字符串的高效寫入。通過write()方法可以將獲取到的字符輸出,然后通過newLine()進行換行操作。BufferedWriter中的字符流必須通過調(diào)用flush方法才能將其刷出去。并且BufferedWriter只能對字符流進行操作。如果要對字節(jié)流操作,則使用BufferedInputStream。

?PrintWriter的println方法自動添加換行,不會拋異常,若關心異常,需要調(diào)用checkError方法看是否有異常發(fā)生,PrintWriter構(gòu)造方法可指定參數(shù),實現(xiàn)自動刷新緩存(autoflush);


1. 讀寫原始數(shù)據(jù),一般采用什么流?(AC )
A InputStream
B DataInputStream
C OutputStream
D BufferedInputStream
2. 為了提高讀寫性能,可以采用什么流?( DF)
A InputStream
B DataInputStream
C BufferedReader
D BufferedInputStream
E OutputStream
F BufferedOutputStream
3. 對各種基本數(shù)據(jù)類型和String類型的讀寫,采用什么流?( AD)
A DataInputStream
B BufferedReader
C PrintWriter
D DataOutputStream
E ObjectInputStream
F ObjectOutputStream
4. 能指定字符編碼的I/O流類型是:(BH )
A Reader
B InputStreamReader
C BufferedReader
D Writer
E PrintWriter
F ObjectInputStream
G ObjectOutputStream
H OutputStreamWriter
5. File類型中定義了什么方法來判斷一個文件是否存在?( D)
A createNewFile
B renameTo
C delete
D exists
6. File類型中定義了什么方法來創(chuàng)建一級目錄?( CD)
A createNewFile
B exists
C mkdirs
D mkdir

File類的mkdir方法根據(jù)抽象路徑創(chuàng)建目錄;File類的mkdirs方法根據(jù)抽象路徑創(chuàng)建目錄,包括創(chuàng)建必需但不存在的父目錄

7. 對文本文件操作用什么I/O流?(AD )
A FileReader
B FileInputStream
C RandomAccessFile
D FileWriter
8. 在unix服務器www.openlab.com.cn上提供了基于TCP的時間服務應用,該應用使用port為13。創(chuàng)建連接到此服務器的語句是:(A )
A Socket s = new Socket(“www.openlab.com.cn”, 13);
B Socket s = new Socket(“www.openlab.com.cn:13”);
C Socket s = accept(“www.openlab.com.cn”, 13);
9. 創(chuàng)建一個TCP客戶程序的順序是:(DACBE )
A 獲得I/O流
B 關閉I/O流
C 對I/O流進行讀寫操作
D 建立socket
E 關閉socket
10. 創(chuàng)建一個TCP服務程序的順序是:(BCADEGF )
A 創(chuàng)建一個服務線程處理新的連接
B 創(chuàng)建一個服務器socket
C 從服務器socket接受客戶連接請求
D 在服務線程中,從socket中獲得I/O流
E 對I/O流進行讀寫操作,完成與客戶的交互
F 關閉socket
G 關閉I/O流
11.?Java?UDP編程主要用到的兩個類型是:( BD)
A UDPSocket
B DatagramSocket
C UDPPacket
D DatagramPacket
12. TCP/IP是一種:( B)
A 標準?
B 協(xié)議 ?
C 語言 ?
D?算法

總結(jié)

以上是生活随笔為你收集整理的java IO流面试总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。