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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

IO基本知识

發(fā)布時(shí)間:2025/3/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IO基本知识 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

答案

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

Bit 是最小單位 計(jì)算機(jī) 只能認(rèn)識(shí) 0或者1?

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

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

答案

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

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

答案

輸入輸出相對(duì)于程序
輸入流InputStream
,輸出流OutputStream

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

答案

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

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

答案

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

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

答案

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

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

答案

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

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

答案

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

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

答案

SetOut(printWriter,printStream)重定向

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

答案

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

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

答案

DataInputStream DataOutputStream

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

答案

ObjectInputStream ObjectOutputStream

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

答案

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

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

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

答案

transient關(guān)鍵字

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

答案

是版本號(hào),要保持版本號(hào)的一致?來(lái)進(jìn)行序列化

為了防止序列化出錯(cuò)

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

答案

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

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

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

答案

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

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

答案

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

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

答案

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


說(shuō)下常用的io流

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


21 寫一段代碼讀取一個(gè)序列化的對(duì)象一般使用哪種Stream?

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


22 io流怎樣讀取文件的?

Icon 使用File對(duì)象獲取文件路徑,通過字符流Reader加入文件,使用字符緩存流BufferedReader處理Reader,再定義一個(gè)字符串,循環(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 說(shuō)說(shuō)你對(duì)io流的理解

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


24 JAVA的IO流和readLine方法

Icon Java的io流用來(lái)處理輸入輸出問題,readLine是BufferedReader里的一個(gè)方法,用來(lái)讀取一行。


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

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

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

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


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

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

Icon 把一個(gè)對(duì)象寫入數(shù)據(jù)源或者從一個(gè)數(shù)據(jù)源讀出來(lái),使用可序列化,需要實(shí)現(xiàn)Serializable接口

?

轉(zhuǎn)載于:https://www.cnblogs.com/qingtianBKY/p/8021854.html

總結(jié)

以上是生活随笔為你收集整理的IO基本知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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