第十五章习题答案.docx

上传人:b****7 文档编号:10995102 上传时间:2023-02-24 格式:DOCX 页数:10 大小:17.24KB
下载 相关 举报
第十五章习题答案.docx_第1页
第1页 / 共10页
第十五章习题答案.docx_第2页
第2页 / 共10页
第十五章习题答案.docx_第3页
第3页 / 共10页
第十五章习题答案.docx_第4页
第4页 / 共10页
第十五章习题答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

第十五章习题答案.docx

《第十五章习题答案.docx》由会员分享,可在线阅读,更多相关《第十五章习题答案.docx(10页珍藏版)》请在冰豆网上搜索。

第十五章习题答案.docx

第十五章习题答案

一、填空题

1.所有字节流类的基类是________、______(InputStreamOutputStream)

2.所有字符流类的基类是________、______(ReaderWriter)

3.InputStream类以_____为信息的基本单位(字节)

4.Reader类以______为信息的基本单位(字符)

5.______类用以处理文件和路径问题(File)

6.Javaxx标准输入输出流对象是:

________、______、______(System.inSystem.outSystem.err)

7.System.in的类型是______(InputStream)

8.System.out的类型是_______(PrinterStream)

二、选择题

1.以下选项中属于字节流的是(A)

A)FileInputSreamB)FileWriterC)FileReaderD)PrintWriter

2.以下选项中不属于File类能够实现的功能的是(D)

A)建立文件B)建立目录C)获取文件属性D)读取文件内容

3.以下选项中哪个类是所有输入字节流的基类(A)

A)InputStreamB)OutputStreamC)ReaderD)Writer

4.以下选项中哪个类是所有输出字符流的基类(D)

A)InputStreamB)OutputStreamC)ReaderD)Writer

5.下列选项中能独立完成外部文件数据读取操作的流类是(B)

A)InputStreamB)FileInputStreamC)FilterInputStreamD)DataInputStream

6.下列选项中能独立完成外部文件数据读取操作的流类是(B)

A)ReaderB)FileReaderC)BufferedReaderD)ReaderInputStream

7.在建立FileInputStream流对象时可能会产生下列哪种类型的异常(B)

A)ClassNotFoundExceptionB)FileNotFoundException

C)RuntimeExceptionD)AWTException

8.在使用FileInputStream流对象的read方法读取数据时可能会产生下列哪种类型的异常(D)A)ClassNotFoundExceptionB)FileNotFoundException

C)RuntimeExceptionD)IOException

三、程序设计题

1.编写应用程序,使用System.in.read()方法读取用户从键盘输入的字节数据,回车后,把从键盘输入的数据存放到数组buffer中,并将用户输入的数据通过System.out.print()显示在屏幕上。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(Stringargs[]){bytebuffer[]=newbyte[128];

intn;

try{n=System.in.read(buffer);//把键盘输入的数据读到数组buffer中,返回实际读取的字节数

for(inti=0;i

System.out.print((char)buffer[i]);}catch(IOExceptione)

{System.out.print(e);}}}

2.编写应用程序,使用System.in.read()方法读取用户从键盘输入的字节数据,回车后,把从键盘输入的数据存放到数组buffer中,并将用户输入的数据保存为指定路径下的文件。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(Stringargs[]){bytebuffer[]=newbyte[128];

intn;

try{n=System.in.read(buffer);

FileOutputStreamout=newFileOutputStream("./abc.txt",true);//追加

//FileOutputStreamout=newFileOutputStream("./abc.txt",false);

out.write(buffer,0,n);

out.close();}catch(IOExceptione)

{System.out.print(e);}}}

3.编写java应用程序,使用FileInputStream类对象读取程序本身(或其他目录下的文件)并显示在屏幕上。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]args){try{//FileInputStreamfis=newFileInputStream("c:

\\windows\\Config.txt");

FileInputStreamfis=newFileInputStream("Class

1.java");

intn;

while((n=fis.read())!

=-1)

System.out.print((char)n);

fis.close();}catch(IOExceptione){System.out.println(e.toString());}}}

4.编写java应用程序,使用FileInputStream类对象读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上(或存储为其他文件)。

importjava.io.*;//读取程序本身,显示在屏幕上

publicclassClass1{publicstaticvoidmain(String[]args){try{FileInputStreamfis=newFileInputStream("Class

1.java");

byte[]b=newbyte[fis.available()];

System.out.println("文件流的大小:

"+fis.available());

intn=fis.read(b);

myprint(b);

System.out.print("实际读取的字节数:

"+n);

fis.close();}catch(IOExceptione){System.out.println(e.toString());}}

staticvoidmyprint(byte[]x){for(inti=0;i

System.out.print((char)x[i]);}}

5.编写应用程序,程序中创建一个文件输入流对象fis,读取当前目录下文本文件test

1.txt,该文件内容有如下两行文本:

Javaprogramiseasy.

Ilikeit.

从文件输入流fis中读取5个字节数据存放到数组b中,字节数据存放的位置从数组下标3开始。

将读取的数据在屏幕输出。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]args)throwsIOException{Filefile=newFile("./test

1.txt");

FileInputStreamfis=newFileInputStream(file);

intn=0;

byteb[]=newbyte[8];

n=fis.read(b,3,5);

fis.close();

for(inti=3;i

System.out.print((char)b[i]+"\t");}}

6.编写应用程序,程序中创建一个文件输出流对象out向当前目录下已有的文件abc.txt(内容为:

"ABCDEFG")写入字符串"abcdefg"中的所有字符和大写字母'A'。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]x)throwsIOException{Strings="abcdefg";

byte[]b;

FileOutputStreamout=newFileOutputStream("./abc.txt",true);//添加字节数据b=s.getBytes();

out.write(b,0,b.length);

out.write

(65);//写入字节数据65---‘A’

out.close();}}

7.使用RandomAccessFile类及其方法。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]args){try{//以随机方式写入数据

RandomAccessFileout=newRandomAccessFile("

1.dat","rw");

out.writeInt

(12345);//4

out.writeChar('A');//2

out.writeBoolean(true);//1

out.writeUTF("程序设计");//8

//显示字符‘A'和”程序设计“

out.seek

(4);

System.out.println(out.readChar());

out.skipBytes

(1);//out.seek

(7);

System.out.println(out.readUTF());

System.out.println(out.getFilePointer());

System.out.println(out.length());

out.close();

System.in.read();}catch(IOExceptione){System.out.println(e);

System.exit(-2);}}}

8.编写应用程序,使用RandomAccessFile类及其方法,把程序本身分两次显示在屏幕上。

第一次直接显示,第二次给每一行添加的行号显示。

importjava.io.*;

publicclassTest{publicstaticvoidmain(String[]args)throwsIOException{RandomAccessFilerandomfile=newRandomAccessFile("Test.java","r");Strings;

while((s=randomfile.readLine())!

=null)

{System.out.println(s);}

longfilePointer=0,fileLength=randomfile.length();

randomfile.seek

(0);//文件指针已到文件尾,将文件指针重设到文件开始位置inti=1;

while(filePointer

System.out.println((i++)+""+s);

filePointer=randomfile.getFilePointer();}randomfile.close();}}

9.在程序所在的目录下有子目录b,目录b下有文本文件testb.txt。

编写应用程序,创建文件对象:

Filefile=newFile("b/testb.txt");

通过文件对象file得到它的文件名、相对路径、绝对路径、父目录名。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(Stringargs[]){Filefile=newFile("b/testb.txt");

System.out.println("文件名:

"+file.getName());

System.out.println("相对路径:

"+file.getPath());

System.out.println("绝对路径:

"+file.getAbsolutePath());

System.out.println("父目录名:

"+file.getParent());}}

10.请编写一个名为Class

1.java的Application,其功能为:

测验文件Class

1.java是否存在并输出其xx。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]args){Filef1=newFile("./Class

1.java");

System.out.println("isexist:

"+f

1.exists());

System.out.println("filelength:

"+f

1.length());}}

11.编写应用程序:

创建目录c:

\temp,并创建一个文件

2.txt,向该文件中写入字符串"Thefirstsnowcame."共5次。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(Stringargs[])throwsIOException{Filefile1=newFile("c:

\\temp");

file

1.mkdir();

Filefile2=newFile(file1,"

2.txt");

FileOutputStreamout1=newFileOutputStream(file2);

Strings="Thefirstsnowcame.";

byte[]b=s.getBytes();

for(inti=0;i<5;i++){out

1.write(b,0,b.length);}}}

12.过滤文件并显示。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(String[]args){try{FileoDir=newFile(".");

String[]strList;

//如果没有命令行参数就取当前目录下的所有文件列表

if(0==args.length)

strList=oDir.list();

else

strList=oDir.list(newDirFilter(args[0]));

for(inti=0;i

System.out.println(strList[i]);}catch(Exceptione){System.out.println(e);}}}classDirFilterimplementsFilenameFilter{StringstrPick;

DirFilter(Stringpickname){this.strPick=pickname;}publicbooleanaccept(Filedir,Stringname){returnname.endsWith(strPick);}}

13.编写java应用程序,使用FileReader类对象读取程序本身(或其他目录下的文件)并显示在屏幕上。

importjava.io.*;//读取程序本身,显示在屏幕上

publicclassClass1{publicstaticvoidmain(String[]args){try{FileReaderfis=newFileReader("Class

1.java");

//FileReaderfis=newFileReader("c:

\\windows\\Config.txt");

intn;

while((n=fis.read())!

=-1)

System.out.print((char)n);

fis.close();}catch(IOExceptione){System.out.println(e.toString());}}}

14.编写应用程序,创建BufferedReader的对象,从某个文本文件中的字符输入数据流中读取一行字符(该文件与程序在同一目录下),跳过10个字节后将其显示出来。

importjava.io.*;

publicclassClass1{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderb_reader=newBufferedReader(newFileReader("

1.js"));

Stringstr;

b_reader.skip

(10);

str=b_reader.readLine();

System.out.println(str);}}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1