什麼是比特(Bit),什麼是字節(Byte),什麼是字符(Char),它們長度是多少,各有什麼區別
答案
Bit最小的二進制單位 ,是計算機的操作部分 取值0或者1
Byte是計算機操作數據的最小單位由8位bit組成 取值(-128-127)
Char是用戶的可讀寫的最小單位,在java裏面由16位bit組成 取值(0-65535)
Bit 是最小單位 計算機 只能認識 0或者1
8個字節 是給計算機看的
字符 是看到的東西 一個字符=二個字節
2.什麼是流,按照傳輸的單位,分成哪兩種流,並且他們的父類叫什麼流是指數據的傳輸
答案
字節流,字符流
字節流:InputStream OutputStream
字符流:Reader Writer
3.流按照傳輸的方向可以分爲哪兩種,分別舉例說明
答案
輸入輸出相對於程序
輸入流InputStream
,輸出流OutputStream
4.按照實現功能分爲哪兩種,分別舉例說明
答案
節點流,處理流
節點流:OutputStream
處理流: OutputStreamWriter
5.BufferedReader屬於哪種流,它主要是用來做什麼的,它裏面有那些經典的方法
答案
屬於處理流中的緩衝流,可以將讀取的內容存在內存裏面,有readLine()方法
6.什麼是節點流,什麼是處理流,它們各有什麼用處,處理流的創建有什麼特徵
答案
節點流 直接與數據源相連,用於輸入或者輸出
處理流:在節點流的基礎上對之進行加工,進行一些功能的擴展
處理流的構造器必須要 傳入節點流的子類
7.如果我要對字節流進行大量的從硬盤讀取,要用那個流,爲什麼
答案
BufferedInputStream 使用緩衝流能夠減少對硬盤的損傷
8.如果我要打印出不同類型的數據到數據源,那麼最適合的流是那個流,爲什麼
答案
Printwriter 可以打印各種數據類型
9.怎麼樣把我們控制檯的輸出改成輸出到一個文件裏面,這個技術叫什麼
答案
SetOut(printWriter,printStream)重定向
11.怎麼樣把輸出字節流轉換成輸出字符流,說出它的步驟
答案
使用 轉換處理流OutputStreamWriter 可以將字節流轉爲字符流
New OutputStreamWriter(new FileOutputStream(File file));
12.把包括基本類型在內的數據和字符串按順序輸出到數據源,或者按照順序從數據源讀入,一般用哪兩個流
答案
DataInputStream DataOutputStream
13.把一個對象寫入數據源或者從一個數據源讀出來,用哪兩個流
答案
ObjectInputStream ObjectOutputStream
14.什麼叫對象序列化,什麼是反序列化,實現對象序列化需要做哪些工作
答案
對象序列化,將對象以二進制的形式保存在硬盤上
反序列化;將二進制的文件轉化爲對象讀取
實現serializable接口
不想讓字段放在硬盤上就加transient
15.如果在對象序列化的時候不想給一個字段的數據保存在硬盤上面,採用那個關鍵字?
答案
transient關鍵字
16.在實現序列化接口是時候一般要生成一個serialVersionUID字段,它叫做什麼,一般有什麼用
答案
是版本號,要保持版本號的一致 來進行序列化
爲了防止序列化出錯
17.InputStream裏的read()返回的是什麼,read(byte[] data)是什麼意思,返回的是什麼值
答案
返回的是所讀取的字節的int型(範圍0-255)
read(byte [ ] data)將讀取的字節儲存在這個數組
返回的就是傳入數組參數個數
Read 字節讀取字節 字符讀取字符
18.OutputStream裏面的write()是什麼意思,write(byte b[], int off, int len)這個方法裏面的三個參數分別是什麼意思
答案
write將指定字節傳入數據源
Byte b[ ]是byte數組
b[off]是傳入的第一個字符
b[off+len-1]是傳入的最後的一個字符
len是實際長度
19.流一般需要不需要關閉,如果關閉的話在用什麼方法,一般要在那個代碼塊裏面關閉比較好,處理流是怎麼關閉的,如果有多個流互相調用傳入是怎麼關閉的?
答案
流一旦打開就必須關閉,使用close方法
放入finally語句塊中(finally 語句一定會執行)
調用的處理流就關閉處理流
多個流互相調用只關閉最外層的流
20.Java中的所有的流可以分爲幾大類,它們的名字是什麼,各代表什麼
答案
分爲 字節輸入流 InputStream
字節輸出流 OutputStream
字符輸入流 Reader
字符輸出流 Writer
所有流都是這四個流的子類
說下常用的io流
FileInputStream,FileOutputStream,
BufferedInputStream,BufferedOutputStream
Reader,Writer
BufferedReader,BufferedWriter
21 寫一段代碼讀取一個序列化的對象一般使用哪種Stream?
22 io流怎樣讀取文件的?
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流的理解
24 JAVA的IO流和readLine方法
25 用什麼把對象動態的寫入磁盤中,寫入要實現什麼接口。
26 FileInputStream 創建詳情,就是怎樣的創建不報錯,它列出了幾種形式!
27 用io流中的技術,指定一個文件夾的目錄,獲取此目錄下的所有子文件夾路徑
28 請問你在什麼情況下會在你得java代碼中使用可序列化? 如何實現java序列化?