版權(quán)聲明
- 本文原創(chuàng)作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
一、填空題
1.Java中的I/O流,按照傳輸數(shù)據(jù)的不同,可分為________和________。
2.java.io包中可以用于從文件中直接讀取字符的是________類。
4.IO提供兩個帶緩沖的字節(jié)流,分別是________和________。
4.在JDK中提供了兩個類可以將字節(jié)流轉(zhuǎn)換為字符流,它們分別是________和________。
5.java.io.FileOutputStream是________的子類,它是操作文件的字節(jié)輸出流。
二、判斷題
1.轉(zhuǎn)換流實現(xiàn)了字節(jié)流和字符流之間的互相轉(zhuǎn)換。
2.字節(jié)流只能用來讀寫二進制文件。
3.JDK提供了兩個抽象類InputStream和OutputStream,它們是字節(jié)流的頂級父類,所有的字節(jié)輸入流都繼承自O(shè)utputStream,所有的字節(jié)輸出流都繼承自InputStream。
4.FileOutputStream是操作文件的字節(jié)輸出流,專門用于把數(shù)據(jù)寫入文件。
5.使用字節(jié)流緩沖區(qū)讀取數(shù)據(jù)相對一個字節(jié)一個字節(jié)的讀取操作效率更低。
三、選擇題
1.下面關(guān)于字節(jié)流緩沖區(qū)的說法錯誤的是( )。
A、使用字節(jié)流緩沖區(qū)讀寫文件是一個字節(jié)一個字節(jié)的讀寫
B、使用字節(jié)流緩沖區(qū)讀寫文件時,可以一次性讀取多個字節(jié)的數(shù)據(jù)
C、使用字節(jié)流緩沖區(qū)讀寫文件,可以大大的提高文件的讀寫操作
D、字節(jié)流緩沖區(qū)就是一塊內(nèi)存,用于存放暫時輸入輸出的數(shù)據(jù)
2.閱讀下列代碼
import java.io.*;
public class Example {
public static void main(String[] args) throws Exception {
FileInputStream in = new FileInputStream("itcast.txt");
int b = 0;
while (true) {
b = in.______;
if (b == -1) {
break;
}
System.out.println(b);
}
in.close()
}
}
下列選項中,填寫在程序橫線處的方法正確的是()
A、read()
B、close()
C、skip()
D、available()
3.下列選項中,F(xiàn)ileWriter類中read()方法讀取到流末尾的返回值是( )
A、 0
B、 -1
C、 1
D、 無返回值
4.在程序開發(fā)中,經(jīng)常需要對文本文件的內(nèi)容進行讀取,如果想從文件中直接讀取字符便可以使用字符輸入流( )
A、Reader
B、Writer
C、FileReader
D、FileWriter
5.File類提供了一系列方法,用于操作其內(nèi)部封裝的路徑指向的文件或者目錄,當File對象對應(yīng)的文件不存在時,使用哪個方法將新建的一個File對象指定到新文件中。( )
A、String getAbsolutePath()
B、boolean canRead()
C、boolean createNewFile()
D、boolean exists()
四、簡答題
1.簡述字符流與字節(jié)流的區(qū)別。
2.簡述InputStreamReader類與OutputStreamWriter類的作用。文章來源:http://www.zghlxwxcb.cn/news/detail-483400.html
五、編程題
- 編寫一個程序,分別使用字節(jié)流和字符流拷貝一個文本文件。要求如下:
1)使用FileInputStream、FileOutputStreaem和FileReader、FileWriter分別進行拷貝。
2)使用字節(jié)流拷貝時,定義一個1024長度的字節(jié)數(shù)組作為緩沖區(qū),使用字符流拷貝。
參考答案
一、
1.字節(jié)流 字符流
2.Reader
3.BufferedInputStream BufferedOutputStream
4.InputStreamReader OutputStreamWriter
5.OutputStream
二、
1.對
2.錯
3.錯
4.對
5.錯
三、
1.A
2.A
3.B
4.C
5.C
四、
1.
字節(jié)流的兩個基類是InputStream和OutputStream,字符流的兩個基類是Reader和Writer,它們都是Object類的直接子類,字節(jié)流是處理以8位字節(jié)為基本單位的字節(jié)流類;Reader和Writer類是專門處理16位字節(jié)的字符流類。
2.
InputStreamReader是Reader的子類,它可以將一個字節(jié)輸入流轉(zhuǎn)換成字符輸入流,方便直接讀取字符。OutputStreamWriter是Writer的子類,它可以將一個字節(jié)輸出流轉(zhuǎn)換成字符輸出流,方便直接寫入字符。
五、
1.文章來源地址http://www.zghlxwxcb.cn/news/detail-483400.html
import java.io.*;
public class Test01 {
public static void main(String[] args) throws Exception {
// 字節(jié)流拷貝
FileInputStream in = new FileInputStream("E:/src.txt");
FileOutputStream out = new FileOutputStream("E:/des1.txt");
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) != -1) {
out.write(buf, 0, len);
}
in.close();
out.close();
// 字符流拷貝
BufferedReader bf = new BufferedReader(new
FileReader("E:/src.txt"));
BufferedWriter bw = new BufferedWriter(new
FileWriter("E:/des2.txt"));
String str;
while ((str = bf.readLine()) != null) {
bw.write(str);
bw.newLine();
}
bf.close();
bw.close();
}
}
到了這里,關(guān)于Java期末考試試題及參考答案(10)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!