Java7课后习题

2019-05-24 18:00

Java07课后习题

一、选择题:

1. 下面关于访问文件和目录说法错误的一项是(C)。

A、File类虽然它不能访问文件内容,却可以用来进行文件的相关操作,它描述的是文件本身的属性。

B、File类如果需要访问文件本身,则需要使用输入/输出流。

C、File类可以使用文件路径字符串来创建File实例,该文件路径字符串可以是绝对路径,但不可以是相对路径,默认情况下,程序会根据用户的工作路径来解释相对路径,通常就是Java虚拟机所在的路径。(也可以是相对路径)

D、将路径当作File类来处理,路径名中除了最后一个之外每个字段都表示一个目录;最后一个字段可能表示一个目录或文件名。 2. 下面关于流的描述有误的一项是( A )。

A、流是指一连串流动的字符,是以先进后出的方式发送信息的通道。

B、在Java中,处理字节流的两个基础的类是InputStream和OutputStream。 C、在Java中,用于处理字符流的两个基础的类是Reader和Writer。

D、按照流的方向分,可以分为输入流(Input Stream)和输出流(Output Stream)。 3. 下面关于流的分类说法错误的一项是( B )。

A、为了处理Unicode字符串,定义了一系列的单独类,这些类是从抽象类Reader和Writer继承而来的。

B、这些单独类的操作均以单字节(16-bits)的Unicode字符为基础,而非双字节的字符为基础。 C、处理流是“处理流的流”,它用来处理其它的流,处理流又被称为高级流(High Level Stream)。

D、节点流又常常被称为低级流(Low Level Stream)。

4. 下面关于低级InputStream类(节点流)的说法有误的一项是( D )。

A、低级InputStream类(节点流)的ByteArrayInputStream方法为读取字节数组设计的流,允许内存的一个缓冲区被当作InputStream使用。

B、低级InputStream类(节点流)的PipedInputStream方法即管道流,产生一份数据,能被写入相应的PipedOutputStream。

C、低级InputStream类(节点流)的FilterInputStream方法,它派生自InutStream,其功能在于将一个流连接到另一个流的末端,它将两种流连接起来。

D、低级InputStream类(节点流)的DataInputStream方法,它是FilterInputStream抽象类的子类,并且提供了用于从另一个流中读取简单数据类型数据和String类型数据的读取方法。

5. 下列数据流中,属于输入流的一项是(C )。

A、从网络流向显示器的数据流 B、从内存流向硬盘的数据流 C、从键盘流向内存的数据流 D、从键盘流向显示器的数据流 6. 下列流中哪一个使用了缓冲区技术(B )。

A、FileInputStream B、BufferedOutputStream C、FileReader D、DataOutputStream

7. 能读入字节数据进行Java基本数据类型判断过虑的类是( A)。

A、DataInputStream B、BufferedInputStream

8.

9.

10.

11.

C、FileReader D、FileInputStream

使用哪一个类可以实现在文件的任意一个位置读写一个记录( C )。 A、BufferedInputStream B、FileReader C、RandomAccessFile D、FileWriter 在通常情况下,下列哪个类的对象可以作为BufferedReader类构造方法的参数( D)。 A、FileInputStream B、FileReader C、PrintStream D、InputStreamReader 下列关于流类和File类的说法中错误的一项是( A)。 A、File类可以修改文件内容 B、File类可以重命名文件 C、流类不可以新建目录 D、流类可以修改文件内容 若要删除一个文件,应该使用下列哪个类的实例( A )。 A、File B、RandomAccessFile C、FileReader D、FileOutputStream

二、填空题:

1. Java的输入输出流包括__字节流_____、__字符流____、__文件流____、对象流_______以及多线程之间通信的管道流________。

2. 凡是从外部设备流向中央处理器的数据流,称之为__输入______流;反之,称之为_输出_______流。

3. 所有的字节输入流都从__InputStream______类继承,所有的字节输出流都从

_OutputStream_______类继承。

4. java.io包中的接口中,处理字节流的有__DataInput______接口和__DataOutput______接

口。

5. 与用于读写字节流的InputStream类和OutputStream类相对应,Java还提供了用于读写

Unicode字符的字符流___Reader_____类和___Writer_____类。 6. 对一般的计算机系统,标准输入通常是_键盘_______,标准输出通常是_显示器_______。 7. System类的所有属性和方法都是__Static______类型的,即调用时需要以类名System为

前缀。

8. System.in只能从键盘读取___二进制_____的数据,而不能把这些比特信息转换为整数、

字符、浮点数或字符串等复杂数据类型的量。 9. 在计算机系统中,需要长期保留的数据是以___文件_____的形式存放在磁盘、磁带等外

存储设备中的。

10. ___目录_____是管理文件的特殊机制,同类文件保存在同一__目录______下可以简化文件的管理,提高工作效率。

11. Java语言的java.io包中的__File______类是专门用来管理磁盘文件和目录的。调用

__File______ 类的方法则可以完成对文件或目录的常用管理操作,如创建文件或目录、删除文件或目录、查看文件的有关信息等。

12. File类也虽然在java.io包中,但它不是InputStream或者OutputStream的子类,因为它

不负责_数据的输入和输出_______,而专门用来管理___文件还有目录_____。

13. 如果希望从磁盘文件读取数据,或者将数据写入文件,还需要使用文件输入输出流类

___FileInputStream_____和_FileOutputStream_______。

14. 利用__DataInputStream______类和____DataOutputStream____类提供的成员方法可以方便地从文件中读写不同类型的数据。

三、编程题:

1. 编写一个程序,其功能是将两个文件的内容合并到一个文件中。 2. 编写一个程序实现以下功能:

①?? 产生5000个1~9999之间的随机整数,将其存入文本文件a.txt中。

②从文件中读取这5000个整数,并计算其最大值、最小值和平均值并输出结果。 1.

import java.io.BufferedReader; import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

public class t71 { public static void main(String[] args) { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); File fin1,fin2,fout; try{ System.out.println(\ fin1=new File(br.readLine()); if(!fin1.exists()){ System.out.println(\ System.exit(0); } System.out.println(\ fin2=new File(br.readLine()); if(!fin2.exists()){ System.out.println(\ System.exit(0); } System.out.println(\ fout=new File(br.readLine()); if((new JoinFiles(fin1,fin2,fout))!=null) { System.out.println(\ }

else{ System.out.println(\ }

}catch(IOException e){ e.printStackTrace(); } } }

import java.io.File;

import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;

public class JoinFiles {

JoinFiles(File fin1,File fin2,File fout) throws IOException{ FileReader fr1=new FileReader(fin1); FileReader fr2 = new FileReader(fin2); FileWriter fw = new FileWriter(fout); int ch; while((ch=fr1.read())!=-1){ fw.write(ch); } while((ch=fr2.read()) != -1) fw.write(ch); fr1.close(); fr2.close(); fw.close(); } } 2.

import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException; import java.io.FileOutputStream;

import org.omg.Messaging.SyncScopeHelper;

public class t72 { static int max,min,sum=0; static int[] a=new int [5000]; public static void main(String[] args){ File f=new File(\ if(f==null){ System.out.println(\ System.exit(0); } genRandom(f); calculate(f); }

}

static void genRandom(File f){ try{ FileOutputStream fos = new FileOutputStream(f); DataOutputStream dos = new DataOutputStream(fos); for(int i=0; i<5000; i++){ dos.writeInt((int)(Math.random()*10000)); } dos.close(); }catch(FileNotFoundException e){ e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } }

static void calculate(File f){ try{ FileInputStream fis = new FileInputStream(f); DataInputStream dis = new DataInputStream(fis); int i; for(i=0; i<5000; i++){ a[i] = dis.readInt(); } dis.close(); max = a[0]; min = a[0]; for(i=0; i<5000; i++){ if(max a[i]) min = a[i]; sum += a[i]; } }catch(FileNotFoundException e){ e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } int average = sum/5000; System.out.println(\ System.out.println(\}


Java7课后习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:乐山职业技术学院

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: