0801作业
---恢復(fù)內(nèi)容開(kāi)始---
IO流作業(yè)
一、填空題
1.Java IO流按操作類(lèi)型分為 字節(jié)流 和 ____字符流_______ 。
2.輸入流的唯一目的是提供通往數(shù)據(jù)的通道,程序可以通過(guò)這個(gè)通道讀取數(shù)據(jù),read()
方法給程序提供了一個(gè)從輸入流中讀取數(shù)據(jù)的基本方法。
3.read方法從輸入流中順序讀取源中的單個(gè)字節(jié)數(shù)據(jù),該方法返回字節(jié)值(0-255之間的一個(gè)整數(shù)),如果到達(dá)源的末尾,該方法返回 -1 。
4.Java系統(tǒng)的標(biāo)準(zhǔn)輸入對(duì)象是System.in,標(biāo)準(zhǔn)輸出對(duì)象有兩個(gè),分別是標(biāo)準(zhǔn)錯(cuò)誤輸出System.err和標(biāo)準(zhǔn)輸出 ____system.out________________。
5.Java IO體系中,__InputStream__________________是字節(jié)輸入流,不僅提供了存取所有Java基礎(chǔ)類(lèi)型數(shù)據(jù)(如:int,double 等)和String的方法,也提供了提供存取對(duì)象的方法。
6.Java IO體系中,____OutputStream________________是字節(jié)輸出流,提供了可以存取所有Java基礎(chǔ)類(lèi)型數(shù)據(jù)(如:int,double 等)和String的方法,但沒(méi)有提供存取對(duì)象的方法。
二、簡(jiǎn)答題
1.輸入流和輸出流的聯(lián)系和區(qū)別,字符流和字節(jié)流的聯(lián)系和區(qū)別
流根據(jù)流向分為輸入流和輸出流,輸入流用來(lái)輸入數(shù)據(jù)到j(luò)ava程序,輸出流用來(lái)從java程序中輸出數(shù)據(jù) 二者是上下游的關(guān)系
流根據(jù)操作類(lèi)型又分為字符流和字節(jié)流.字節(jié)流可以操作任何數(shù)據(jù),而字符流只能操作純字符數(shù)據(jù)
3.列舉常用的字節(jié)輸入流和字節(jié)輸出流并說(shuō)明其特點(diǎn),至少5對(duì)。
FileInputStream BufferedInputStream AutoInputStream ObjectInputStream FilterInputStream
FileOutputStream BufferedOutputStream AutoOutputStream ObjectOutputStream FilterOutputStream
4.說(shuō)明緩沖流的優(yōu)點(diǎn)和原理
緩沖流的優(yōu)點(diǎn)是:數(shù)據(jù)傳輸速度快
原理:一次傳入一大組數(shù)據(jù),存入緩存區(qū),等程序需要再傳輸時(shí),不用再找文件,因此快
三、編碼題
1.實(shí)現(xiàn)字符串和字節(jié)數(shù)組之間的相互轉(zhuǎn)換。必如將字符串“北京最課程bjzkc”轉(zhuǎn)換為字節(jié)數(shù)組,并將字節(jié)數(shù)組再轉(zhuǎn)換回字符串。
?
2.分別使用文件流和緩沖流復(fù)制一個(gè)長(zhǎng)度大于100MB的視頻文件,并觀察效率的差異。
package com.zuikc.chario;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class Tested {public static void main(String[] args) throws IOException {FileInputStream fis = new FileInputStream("Video_2018-05-25_165621.wmv");FileOutputStream fos = new FileOutputStream("copy.wmv");int b;while((b= fis.read())!=-1) {fos.write(b);}fis.close();fos.close();}} package com.zuikc.chario;import java.io.BufferedInputStream; import java.io.BufferedOutputStream;public class Tested1 {public static void main(String[] args) {BufferedInputStream bis = new BufferedInputStream("Video_2018-05-25_165621.wmv");BufferedOutputStream bos = new BufferedOutputStream("copy.wmv");int b;while((b = bis.read())!= -1) {bos.write(b);}bis.close();bos.close();} }?
四、可選題
1.使用IO包中的類(lèi)讀取D盤(pán)上exam.txt文本文件的內(nèi)容,每次讀取一行內(nèi)容,將每行作為一個(gè)輸入放入ArrayList的泛型集合中并將集合中的內(nèi)容使用加強(qiáng)for進(jìn)行輸出顯示。
?
2.由控制臺(tái)按照固定格式輸入學(xué)生信息,包括學(xué)號(hào),姓名,年齡信息,當(dāng)輸入的內(nèi)容為exit退出;將輸入的學(xué)生信息分別封裝到一個(gè)Student對(duì)象中,再將每個(gè)Student對(duì)象加入到一個(gè)集合中,要求集合中的元素按照年齡大小正序排序;最后遍歷集合,將集合中學(xué)生信息寫(xiě)入到記事本,每個(gè)學(xué)生數(shù)據(jù)占單獨(dú)一行。
?
---恢復(fù)內(nèi)容結(jié)束---
轉(zhuǎn)載于:https://www.cnblogs.com/zhangzheng1989/p/9404516.html
總結(jié)
- 上一篇: spring容器的设值注入和构造注入
- 下一篇: golang刷Leetcode系列 --