AnjoyoJava07课后习题.doc

上传人:w****2 文档编号:6478642 上传时间:2020-02-27 格式:DOC 页数:8 大小:41.50KB
返回 下载 相关 举报
AnjoyoJava07课后习题.doc_第1页
第1页 / 共8页
AnjoyoJava07课后习题.doc_第2页
第2页 / 共8页
AnjoyoJava07课后习题.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
AnjoyoJava07课后习题1、 选择题:1. 下面关于访问文件和目录说法错误的一项是( )。A、File类虽然它不能访问文件内容,却可以用来进行文件的相关操作,它描述的是文件本身的属性。B、File类如果需要访问文件本身,则需要使用输入/输出流。C、File类可以使用文件路径字符串来创建File实例,该文件路径字符串可以是绝对路径,但不可以是相对路径,默认情况下,程序会根据用户的工作路径来解释相对路径,通常就是Java虚拟机所在的路径。D、将路径当作File类来处理,路径名中除了最后一个之外每个字段都表示一个目录;最后一个字段可能表示一个目录或文件名。2. 下面关于流的描述有误的一项是( )。A、流是指一连串流动的字符,是以先进后出的方式发送信息的通道。B、在Java中,处理字节流的两个基础的类是InputStream和OutputStream。C、在Java中,用于处理字符流的两个基础的类是Reader和Writer。D、按照流的方向分,可以分为输入流(Input Stream)和输出流(Output Stream)。3. 下面关于流的分类说法错误的一项是( )。A、为了处理Unicode字符串,定义了一系列的单独类,这些类是从抽象类Reader和Writer继承而来的。B、这些单独类的操作均以单字节(16-bits)的Unicode字符为基础,而非双字节的字符为基础。C、处理流是“处理流的流”,它用来处理其它的流,处理流又被称为高级流(High Level Stream)。D、节点流又常常被称为低级流(Low Level Stream)。4. 下面关于低级InputStream类(节点流)的说法有误的一项是( )。A、低级InputStream类(节点流)的ByteArrayInputStream方法为读取字节数组设计的流,允许内存的一个缓冲区被当作InputStream使用。B、低级InputStream类(节点流)的PipedInputStream方法即管道流,产生一份数据,能被写入相应的PipedOutputStream。C、低级InputStream类(节点流)的FilterInputStream方法,它派生自InutStream,其功能在于将一个流连接到另一个流的末端,它将两种流连接起来。D、低级InputStream类(节点流)的DataInputStream方法,它是FilterInputStream抽象类的子类,并且提供了用于从另一个流中读取简单数据类型数据和String类型数据的读取方法。5. 下面说法有误的一项是( )。A、通过解析XML文档,为 XML文档在逻辑上建立一个树模型,树的节点是一个个对象,我们通过存取这些对象就能够存取XML文档的内容。B、使用Element对象的getElementsByTagName()方法,我们可以得到一个NodeList对象。C、一个Node对象代表了一个XML文档中的一个标签元素,而NodeList对象,代表的是一个 Node对象的列表。D、DOM的基本对象有5个:Document、Node、NodeList、Element和Attr。6. 下面关于SAX解析XML说法错误的一项是( )。A、SAX基于事件驱动,使用回调机制将重要事件通知给客户端应用程序。B、用SAX解析器的时候编码工作会比较困难,但是可以同时访问同一个文档中的多处不同数据。C、SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag。D、SAX解析器在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。7. 下列数据流中,属于输入流的一项是( )。A、从网络流向显示器的数据流B、从内存流向硬盘的数据流C、从键盘流向内存的数据流D、从键盘流向显示器的数据流8. 下列流中哪一个使用了缓冲区技术( )。A、FileInputStreamB、BufferedOutputStreamC、FileReaderD、DataOutputStream9. 能读入字节数据进行Java基本数据类型判断过虑的类是( )。A、DataInputStreamB、BufferedInputStreamC、FileReaderD、FileInputStream10. 使用哪一个类可以实现在文件的任意一个位置读写一个记录( )。A、BufferedInputStreamB、FileReaderC、RandomAccessFileD、FileWriter11. 在通常情况下,下列哪个类的对象可以作为BufferedReader类构造方法的参数( )。A、FileInputStreamB、FileReaderC、PrintStreamD、InputStreamReader12. 下列关于流类和File类的说法中错误的一项是( )。A、File类可以修改文件内容B、File类可以重命名文件C、流类不可以新建目录D、流类可以修改文件内容13. 若要删除一个文件,应该使用下列哪个类的实例( )。A、FileB、RandomAccessFileC、FileReaderD、FileOutputStream2、 填空题:1. 文档对象模型2. 字节流、字符流、文件流、对象流、管道流3. 输入、输出4. InputStream、OutputStream5. DataInput、DataOutput6. Reader、Writer7. 键盘、显示器8. Static9. 二进制10. 文件11. 目录、目录12. File、File13. 数据的输入输出、文件和目录14. FileInputStream、FileOutputStream15. DataInputStream、DataOutputStream16. Object、DataInput、DataOutput1. DOM是Document Object Model的缩写,即_。2. Java的输入输出流包括_、_、_、_以及多线程之间通信的_。3. 凡是从外部设备流向中央处理器的数据流,称之为_流;反之,称之为_流。4. 所有的字节输入流都从_类继承,所有的字节输出流都从_类继承。5. java.io包中的接口中,处理字节流的有_接口和_接口。6. 与用于读写字节流的InputStream类和OutputStream类相对应,Java还提供了用于读写Unicode字符的字符流_类和_类。7. 对一般的计算机系统,标准输入通常是_,标准输出通常是_。8. System类的所有属性和方法都是_类型的,即调用时需要以类名System为前缀。9. System.in只能从键盘读取_的数据,而不能把这些比特信息转换为整数、字符、浮点数或字符串等复杂数据类型的量。10. 在计算机系统中,需要长期保留的数据是以_的形式存放在磁盘、磁带等外存储设备中的。11. _是管理文件的特殊机制,同类文件保存在同一_下可以简化文件的管理,提高工作效率。12. Java语言的java.io包中的_类是专门用来管理磁盘文件和目录的。调用_ 类的方法则可以完成对文件或目录的常用管理操作,如创建文件或目录、删除文件或目录、查看文件的有关信息等。13. File类也虽然在java.io包中,但它不是InputStream或者OutputStream的子类,因为它不负责_,而专门用来管理_。14. 如果希望从磁盘文件读取数据,或者将数据写入文件,还需要使用文件输入输出流类_和_。15. 利用_类和_类提供的成员方法可以方便地从文件中读写不同类型的数据。16. Java中的RandomAccessFile类提供了随机访问文件的功能,它继承了_类,用 _和_接口来实现。3、 简答题:1. 请写出XML的三个主要的作用。2. 请分析DOM解析XML的优缺点。3. 请分析SAX解析XML的优缺点。4、 编程题:1. 编写一个程序,其功能是将两个文件的内容合并到一个文件中。2. 编写一个程序实现以下功能: 产生5000个19999之间的随机整数,将其存入文本文件a.txt中。从文件中读取这5000个整数,并计算其最大值、最小值和平均值并输出结果。答案:1、 选择题:15: CABDB610:BCBAC1113:D AA2、 填空题:17. 文档对象模型18. 字节流、字符流、文件流、对象流、管道流19. 输入、输出20. InputStream、OutputStream21. DataInput、DataOutput22. Reader、Writer23. 键盘、显示器24. Static25. 二进制26. 文件27. 目录、目录28. File、File29. 数据的输入输出、文件和目录30. FileInputStream、FileOutputStream31. DataInputStream、DataOutputStream32. Object、DataInput、DataOutput3、 简答题:1. 答:数据存储:XML和数据库一样,都可以实现数据的持久化存储。两者相比,数据库提供了更强有力的数据存储和分析能力,XML仅仅是存储数据,XML与其它数据表现形式最大的不同是它极其简单。数据交换:在实际应用中,由于各个计算机所使用的操作系统,数据库不同,因此数据之间的交换向来是头疼的事情,但可以使用XML交换数据来解决这个问题。例如,可以将数据库A中的数据转换成标准的XML文件,然后数据库B再将该标准的XML文件转换成适合自己数据要求的数据,以便达到交换数据的目的。数据配置:许多应用都将配置数据存储在XML文件中。使用XML配制文件可读性强,灵活性高,不用像其它应用那样要经过重新编译才能修改和维护应用。2. 答:DOM解析的优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。3. 答:SAX解析XML优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少。4、 编程题:1. 答:编程分析】本题主要考察对文件流类FileReader和FileWriter的使用方法,实现从文件中读取数据,以及向文件中输入数据。第一步:采用面向字符的文件流读出文件内容,使用FileReader类的read()方法,写文件内容使用FileWriter类的write()方法。第二步:通过键盘方式输入要合并的两个源文件的文件名以及合并后的新文件名。第三步:将两个源文件内容分别读出并写入到目标文件中。【参考程序】import java.io.*;public class X8_3_2 public static void main(String args) InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);File fin1, fin2, fout;trySystem.out.print(Input the first input file name: );fin1 = new File(br.readLine();if(!fin1.exists()System.out.println(The file doesnt exist! );System.exit(0);System.out.print(Input the second input file name: );fin2 = new File(br.readLine();if(!fin2.exists()System.out.println(The file doesnt exist! );System.exit(0);System.out.print(Input the output file name: );fout = new File(br.readLine();if(new JoinFiles(fin1,fin2,fout) != null)/ 合并文件System.out.println(Successful in joining files!);elseSystem.out.println(fail in joining files!);catch(IOException e)e.printStackTrace();class JoinFilesJoinFiles(File fin1, File fin2, File fout) throws IOExceptionFileReader 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();【运行结果】Input the first input file name: f1.txtInput the second input file name: f2.txtInput the output file name: fout.txtSuccessful in joining files!2. 答:【编程分析】本题主要考察利用FileOutputStream、DataOutputStream、FileInputStream、DataInputStream等类实现对文件的操作。第一步:产生5000个19999之间的随机整数,将其存入文本文件a.txt中,本参考程序利用方法“genRandom(File f)”来实现,本方法使用了FileOutputStream和DataOutputStream两个类。第二步:将文件中的数据取出进行计算最大值、最小值、平均值以及求和,本参考程序利用方法“calculate(File f)”来实现,本方法使用了FileInputStream和DataInputStream两个类。【参考程序】import java.io.*;public class X8_3_3 static int max, min, sum = 0;static int a = new int5000;public static void main(String args) File f = new File(a.txt);if(f = null)System.out.println(Cant create the file);System.exit(0);genRandom(f);calculate(f);static void genRandom(File f)/ 产生随机数方法tryFileOutputStream fos = new FileOutputStream(f);DataOutputStream dos = new DataOutputStream(fos);for(int i=0; i5000; i+)dos.writeInt(int)(Math.random()*10000);dos.close();catch(FileNotFoundException e)e.printStackTrace();catch(Exception e)e.printStackTrace();static void calculate(File f)/ 计算最大值、最小值、平均值以及求和方法tryFileInputStream fis = new FileInputStream(f);DataInputStream dis = new DataInputStream(fis);int i;for(i=0; i5000; i+)ai = dis.readInt();dis.close();max = a0;min = a0;for(i=0; i5000; i+)if(max ai) min = ai;sum += ai;catch(FileNotFoundException e)e.printStackTrace();catch(Exception e)e.printStackTrace();int average = sum/5000;System.out.println(max = +max+tmin=+min);System.out.println(sum = +sum+taverage=+average);【运行结果】max = 9997 min=6sum = 25031340 average=5006
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!