(完整版)5Java第五单元练习题-输入流与输出流
- 格式:docx
- 大小:23.80 KB
- 文档页数:5
Java输⼊输出流1.基础概念流:⼀组有序的数据结构,将数据从⼀个地⽅带到另⼀个地⽅。
根据数据流向的不同,可以分为输⼊流和输出流。
Java程序通过流完成输⼊/输出,所有的输⼊/输出都以流的形式处理。
(数据流是Java进⾏I/O操作的对象)1. 按照流的⽅向主要分为输⼊流和输出流两⼤类。
2. 数据流按照数据单位的不同分为字节流和字符流。
3. 按照功能可以划分为节点流和处理流。
数据流处理流程数据流的处理只能按照数据序列的顺序来进⾏,即前⼀个数据处理完之后才可处理后⼀个数据。
数据流以输⼊流的形式被程序获取,再以输出流的形式输出到其他设备。
输⼊/输出流模式如下:Java流相关的类都封装在java.io包中,且每个数据流都是⼀个对象。
1-输⼊流所有输⼊流都是InputStream抽象类(字节输⼊流)和Reader抽象类(字符输⼊流)的⼦类。
InputStream类的层次结构及常⽤⽅法如下:2-输出流所有输出流类都是OutputStream抽象类(字节输出流)和Writer抽象类(字符输出流)的⼦类。
OutputStream类的层次结构及常⽤⽅法:注:从本质上来讲,写数据(即输出)的时候,字节也好,字符也好,本质上都是没有标识符的,需要去指定编码⽅式。
但读数据的时候,如果我们需要去“看数据”,那么字节流的数据需要指定字符编码⽅式,这样我们才能看到我们能识别的字符(否则乱码);⽽字符流,因为已经选择好了字符编码⽅式,通常不需要再改了2.Java系统流Java程序运⾏时⾃带有⼀个系统流(对应类ng.System)。
该类封装了Java程序运⾏时的三个系统流(作⽤域为public和static):1. System.in:标准输⼊流,默认设备为键盘2. System.out:标准输出流,默认设备为控制台。
3. System.err:标准错误流,默认设备是控制台。
3.Java File(⽂件操作类)File类是Java.io包中唯⼀代表磁盘⽂件本⾝的对象(File类不能访问⽂件内容本⾝,需使⽤输⼊/输出流访问)File类的三种构造⽅法:1. File(String path):path可为⽬录/⽂件,File对象标识的就是⽬录/⽂件为⽂件时idea中默认路径为⼯程路径2. File(String path, String name):path是路径,name是⽂件名3. File(File dir, String name):dir是路径对象,name是⽂件名File类两个常⽤常量如下:1. public static final String pathSeparator:分隔连续多个路径字符串的分隔符(win下为;)2. public static final String separator:分隔同意路径字符串中的⽬录(win下为/)注:win中⽂件⽬录D:\xxx\xx,Java中使⽤时\应为/或\File类常⽤⽅法如下:通过遍历⽬录可以在指定的⽬录中查找⽂件或显⽰所有⽂件列表,有如下两种重载形式1. String[] list() 返回File对象表⽰⽬录中所有⽂件和⼦⽬录名称的字符串数组(null)eg.String path = "D:/IdeaProject/";File ff = new File(path);String[] FileList = ff.list();for(String str: FileList){System.out.println(str + (new File(path, str).isFile()? "⽂件": "⽂件夹"));System.out.println(str + "字节长度为" + (new File(path, str).length()));}2. String[] list(FilenameFilter filter) 返回数组中仅包含filter过滤器的⽂件和⽬录(null则接受所有名称)注:需先实现java.io.FilenameFilter接⼝,然后将过滤类传递给list⽅法(FileStream)@Override public boolean accept(File dir, String name) { return name.endsWith(".idea") || name.endsWith(".txt"); }也可在list中直接实现接⼝String[] filterList = ff.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".idea") || name.endsWith(".txt"); } });eg.String[] filterList = ff.list(new FileStream());for(String str: filterList){System.out.println(str + (new File(path, str).isFile()? "⽂件": "⽂件夹"));System.out.println(str + "字节长度为" + (new File(path, str).length()));}4.Java动态读取⽂件内容⽂件的输⼊和输出主要通过Scanner类从⽂件中读取⽂本数据;PrintWriter类向⽂本写⼊数据PrintWriter output = new PrintWriter(file);Scanner input = new Scanner(file);使⽤try-with-resources⾃动关闭资源AutoCloseable⼦类型(Scanner,PrintWriter)资源有close⽅法,使⽤完的资源close以防⽌内存泄漏。
输入输出流一、实验目的:熟悉Java的文件读写机制,练习输入输出流的使用。
二、实验内容:1、键盘输入10个整数,从小到大进行排序。
2、接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。
3、将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。
三、实验要求:1. 通过实验掌握文件输入输出流的使用方法;2. 程序必须能够从键盘接收字符串并保存在文件中;3. 程序必须能够读出文件内容显示在屏幕上;4. 写出实验报告。
四、实验步骤:1、键盘输入10个整数,从小到大进行排序。
package javaTest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Gui_21 {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubBufferedReader br=new BufferedReader(newInputStreamReader(System.in));String str;int array[]=new int[10];for(int i=0;i<10;i++){System.out.println("请输入一个整数:");str=br.readLine();array[i]=Integer.parseInt(str);}for(int j=0;j<9;j++){for(int k=j+1;k<10;k++){if(array[k]<array[j]){int temp=array[k];array[k]=array[j];array[j]=temp;}}}for(int m=0;m<10;m++){if(m!=9)System.out.print(array[m]+",");elseSystem.out.print(array[m]);}}}2、接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。
5.Java_IO知识测试本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下列叙述中,正确的是 ( C)A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( ABC )A. IO流可以分为字节流和字符流B. FileReader和FileWriter是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口3.FileReader类描述正确的是( B )A. 字节输入流B. 字符输入流C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( CD )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( D )A. FileWriterB. InputStreamReaderC. FileReaderD. BufferedReader6.关于newLine()方法描述错误的是( C )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是FileWiter类的方法D. newLine()方法是BufferedWriter类的方法7.实现下列哪个接口,可以启用序列化功能( C )A. Runnable接口B. Comparable接口C. Serializable接口D. Comparator接口8.以下关于java异常说法不正确的是( D )。
A. Throwable 类是 Java 语言中Error类和Exception类的父类。
B. 当异常对象是Exception类(或其子类)的实例时,能通过Java 虚拟机或者throw 语句抛出该异常对象,并能通过try…catch…finally处理。
软件091班java程序机试题编程题:0. 求两点之间的距离。
要求:1)设计点类,属性为点的坐标;利用点类设计距离类。
2)两点的坐标通过键盘输入,键盘输入要运用流,输入数据时要有合理的提示信息,输出信息表达明确。
1.实现如下界面功能的图形界面应用程序(字体设置)。
2.编写程序,通过键盘输入多行信息,直接输入一个文本文件中。
要求:键盘输入的信息要使用流。
3.求5个以上学生的Java平均成绩。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)Java成绩的范围在0-分100分,若输错,则需要重新输入。
4.设计一个包含两个命令按钮(显示文字和显示图片)的界面。
要求:1)当单击“显示文字”命令按钮后,命令按钮变为“文字消失”,同时显示一行“单击了命令按钮!”的文字。
单击“文字消失”命令按钮后,命令按钮又变为“显示文字”命令按钮,同时文字“单击了命令按钮!”消失。
如此可以反复。
2)当单击“显示图片”命令按钮后,命令按钮变为“图片消失”,同时显示任意一幅图片。
单击“图片消失”命令按钮后,命令按钮又变为“显示图片”命令按钮,同时图片消失。
如此可以反复。
5.求5个以上人的平均年龄。
要求:1)要利用对象数组生成对象2)信息通过键盘输入(利用流)。
3)人年龄的范围在0岁-120岁,若输错,则需要重新输入。
6.打开Login1.Java源程序,题目要求见源程序的注释部分。
7.分别利用接口和抽象类,求给定三个以上三角形和给定三个以上矩形的平均周长。
提示:应该产生两个源程序。
要求:1)要利用对象数组生成对象。
2)信息通过键盘输入(利用流)。
3)输入的三角形的三条边要能构成三角形,否则需要重新输入。
8.利用列表框和命令按钮实现如下界面功能的图形界面应用程序()。
要求:提示信息:。
5 Java 输入流与输出流 5.1单项选择题 1.实现字符流的写操作类是 (A . FileReader B . Writer C )。
File In putStreamDFileOutputStream 2.实现字符流的读操作类是() A . FileReader B . Writer C . 3 .凡是从中央处理器流向外部设备的数据流称为File In putStream D()FileOutputStream A. 文件流B. 字符流C. 输入流D. 输出流4 .构造 BufferedInputStream 的合适参数是哪一个?( )A . FileI nputStreamB . BufferedOutputStreamC . FileD . FileOuterStream5.在编写Java Application 程序时,若需要使用到标准输入输出语句,头写上()语句。
A . import java.awt.* ; B import java.applet.Applet ;C . import java.io.* ;D . import java.awt.Graphics ;必须在程序的开6 . 下列流中哪个不属于字符流?( )A . In putStreamReaderB . BufferedReadeC . FilterReader 7 .流的传递方式是() rA. 并行的 D . File InputStreamB. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于()A. 前者带有缓冲,后者没有B. 前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同9.下列流中哪个不属于字节流A . FileInputStreamB . BufferedInputStream C. FilterInputStreamD. InputStreamReader10 .如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( ) A . FileInputStream B . C . DataOutputStream D . FileOutputStreamFileWriter11. 下列哪一个 import 命令可以使我们在程序中创建输入/ 输出流对象 ()12. 下面的程序段创建了 BufferedReader 类的对象 in ,以便读取本机 c 盘 my 文件夹下的文 件 1.txt 。
第5章习题解答1.流的主要特征有哪些,用流来实现JAVA中的输入输出有什么优点?答: 一是单向性,即数据只能从数据源流向数据宿;二是顺序性,先从数据源流出的数据一定比后流出的数据先到达数据宿;三是数据流必须而且只能和一个数据源与一个数据宿相连。
优点是体现了面向对象程序设计的概念,通过流可以把对不同类型的输入/输出设备的操作统一为用流来实现。
2.对字节流和字符流进行读写操作的一般步骤是什么?答:声明流对象,创建流对象,通过流对象进行读(写)操作,关闭流对象。
3. 有哪些常用的字节流和字符流,他们的主要区别是什么?答: InputStream/OutputStrem:普通字节流,所有字节流的基类。
FileInputStream/ FileOutputStream:用于从文件中读写数据。
BufferedInputStream/ BufferedOutputStream:用于从缓冲区输入流中读写数据。
采用缓冲区流可减少实际上从外部输入设备上读写数据的次数,从而提高效率。
DataInputStream/ DataOutputStream:按读写数据对象的大小从字节流中读写数据,而不是象其它字节流那样以字节为基本单位。
PipedInputStream/ PipedOutputStream:管道输流用于从另一个线程中读写数据。
4.么是异常?说明Java中的异常处理机制?试述JAVA中异常的抛出和传递过程?答: 异常是程序设计语言提供的一种机制,它用于在程序运行中的非常规情况下,控制程序对非常规情况进合理的处理。
Java提供了try-catch-finally语句来对异常进行处理。
先按照正常顺序执行try子句中的语句,若在执行过程中出现异常,则try子句中还未被执行的语句将再也不会被执行。
而程序控制立即转移到catch子句,将发生的异常与catch子句中的异常进行匹配,若找到一个匹配,就执行该catch子句中的语句。
2012年JAVA程序设计习题及答案191.java的输入输出流包括_______、字符流、文件流、对象流以及多线程之间通信的管道。
2.java中的非字符输出流都是________抽象类的子类。
3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是_______4. java中的字符输出流都是抽象类________的子类.5. DataOutputStream数据流向文件里写数据的方法为__________.答案:1. 字节流2. OutputStream3. 过滤流4. Writer5. write()11.在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java.exe、_____、javap.exe、jkb.exe12.13.12. JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的.jar文件、对象状态序列化.ser文件。
14.15.13. 在JAVA语言中,为将源代码翻译成______文件时产生的错误称为编译错误。
而将程序在运行中产生的错误称为运行错误。
16.17.14. Java Application应用程序的编写和执行分3步进行:编写源代码、编译源代码、_____。
18.19.15. 每个java应用程序可以包括许多方法,但必须有且只能有一个_____方法。
20.21.答案:22.11. javadoc.exe(或java文档生成器)23.12. 由编译器生成的类(.class文件)24.13. 字节码25.14. 解释执行26.15. main6. 关于对象的删除,下列说法正确的是A. 必须由程序员完成对象的清除B. java把没有引用的对象作为垃圾收集起来并释放C. 只有当程序中调用System.gc()方法时才能进行垃圾收集D. java中的对象都很小,一般不进行删除操作。
Java练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。
2. 声明一个整型变量并赋值为10,然后输出该变量的值。
3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。
4. 声明一个浮点型变量并赋值为3.14,然后输出该变量的值。
5. 编写一个Java程序,判断一个整数是奇数还是偶数。
6. 使用三元运算符计算两个整数中的较大值。
7. 编写一个Java程序,实现字符串的拼接。
8. 声明一个布尔型变量并赋值为true,然后输出该变量的值。
9. 编写一个Java程序,输出1到100的所有偶数。
10. 使用for循环输出九九乘法表。
二、数组与字符串1. 声明一个整型数组并初始化,然后输出数组中的所有元素。
2. 编写一个Java程序,实现数组的逆序输出。
3. 计算一个整型数组的平均值。
4. 编写一个Java程序,查找数组中的最大值和最小值。
5. 使用冒泡排序算法对整型数组进行排序。
6. 编写一个Java程序,实现字符串的反转。
7. 判断一个字符串是否为回文。
8. 输出一个字符串中字母和数字的个数。
9. 编写一个Java程序,实现字符串的截取。
10. 使用StringBuilder类拼接一个由100个“Java”组成的字符串。
三、面向对象1. 定义一个学生类(Student),包含姓名、年龄和成绩属性,并实现一个打印学生信息的方法。
2. 编写一个Java程序,创建一个学生对象并设置其属性,然后调用打印学生信息的方法。
3. 定义一个矩形类(Rectangle),包含长和宽属性,并实现计算面积和周长的方法。
4. 编写一个Java程序,创建两个矩形对象,并比较它们的面积大小。
5. 定义一个动物类(Animal),包含吃、睡和叫的方法,然后创建一个狗类(Dog)继承动物类,并重写叫的方法。
6. 编写一个Java程序,演示多态性,创建一个动物数组,包含狗和猫对象,并调用它们的叫方法。
Java输入输出练习题及答案//******************************************************************** /*李白:春思燕草如碧丝,秦桑低绿枝。
当君怀归日,是妾断肠时。
春风不相识,何事入罗帏?*/public class l1 {public static void main(String[] args) {System.out.print(" 李白:春思\n\n");System.out.println("燕草如碧丝,秦桑低绿枝");System.out.println("当君怀归日,是妾断肠时");System.out.println("春风不相识,何事入罗帏");System.out.print("\n\n");}}//******************************************************************** /*********************/public class l2 {public static void main(String[] args) {System.out.println(" *");System.out.println(" *****");System.out.println(" *******");System.out.println(" *****");System.out.println(" *");System.out.print("\n\n");}}//******************************************************************** /*日一二三四五六1 2 3 45 6 7 8 9 10 1112 13 14 15 16 17 18*/public class l3 {public static void main(String[] args) {System.out.print("\t日\t一\t二\t三\t四\t五\t六\n\t\t\t\t1\t2\t3\t4\n\t5\t6\t7\t8\t9\t10\t11\n\t12\t13\t14\t15\t16\t17\t18\n\n\n");}}//******************************************************************** /***************************************人事管理系统1、添加用户2、查询用户3、退出系统***************************************/public class l4 {public static void main(String[] args) {System.out.print("******************************************\n\t人事管理系统\n\t1、添加用户\n\t2、查询用户\n\t2、退出系统\n******************************************\n\n");}}//******************************************************************** /*·曾造·程过·康仲伯·李敦诗*/public class l5 {public static void main(String[] args) {System.out.print("姓名:\n\b曾造\n\b陈过\n\b康仲伯\n\b李敦诗\n\n");}}//********************************************************************/*** ** ** * * * * * * **/public class l6 {public static void main(String[] args) {System.out.println(" *");System.out.println(" * *");System.out.println(" * *");System.out.println(" *********");System.out.print("\n\n");}}//******************************************************************** /*IT富豪榜排名序号名字身家1 李彦宏200亿2 马化腾150亿3 马云100亿4 陈天桥60亿*/public class l7 {public static void main(String[] args) {System.out.print("\tIT富豪榜排名\n序号\t名字\t身家\n1\t李彦宏\t200亿\n2\t马化腾\t200亿\n3\t马云\t150亿\n4\t陈天桥\t60亿");}}//******************************************************************** //定义3个整形变量,分别是3,4,5,计算他们的和public class l1{public static void main(String[] args) {int ai=3,bi=4,ci=5;System.out.println("a+b+c="+(ai+bi+ci));System.out.println();}}//******************************************************************** //输入打狗的包子数,获得屎的个数,注意:2个包子一坨屎public class l1{public static void main(String[] args) {int bao=21;System.out.println("屎的个数是"+(bao/2));System.out.println(); }}//******************************************************************** //定义2个字符串型变量,分别值为“hello”和“world”,并将他们进行拼接,打印输出public class l1{public static void main(String[] args) {String he="hello",wo="world";System.out.println(he+wo);System.out.println();}}//******************************************************************** //定义一个变量保存正方形的边长,计算此正方形的周长,及面积public class l1{public static void main(String[] args) {int bian=5;System.out.println("正方形的周长="+(4*bian)+",正方形的面积"+bian*bian);System.out.println();}}//******************************************************************** /*定义一个变量记录天数=10,计算10天共有多少小时。
5 Java 输入流与输出流5.1 单项选择题1.实现字符流的写操作类是( A . FileReader B . Writer C)。
. FileInputStream D. FileOutputStream2. 实现字符流的读操作类是( )。
A . FileReaderB . WriterC . FileInputStreamD . FileOutputStream3.凡是从中央处理器流向外部设备的数据流称为() A. 文件流 B. 字符流 C. 输入流 D. 输出流4.构造 BufferedInputStream 的合适参数是哪一个?( ) A . FileInputStream B . BufferedOutputStreamC . FileD . FileOuterStream5.在编写 Java Application 程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
D . import java.awt.Graphics ;6.下列流中哪个不属于字符流?( A . InputStreamReaderC . FilterReader 7.流的传递方式是() A. 并行的B. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于( )A. 前者带有缓冲,后者没有B. 前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用A . import java.awt.* ;B import java.applet.Applet ;C . import java.io.* ; )B . BufferedReaderD . FileInputStream2D. 每次读写的字节数不同9.下列流中哪个不属于字节流 A . FileInputStream B . BufferedInputStream C. FilterInputStream D. InputStreamReader10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A . FileInputStreamB . FileOutputStreamC . DataOutputStreamD . FileWriter11. 下列哪一个 import 命令可以使我们在程序中创建输入/ 输出流对象()A .import java.sql.*;B . import java.util.*;C . import java.io.*;D . import .*;12.下面的程序段创建了 BufferedReader 类的对象in ,以便读取本机 c 盘my 文件夹下的文件 1.txt 。
File 构造函数中正确的路径和文件名的表示是 ( ) 。
File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file); A ."./1.txt"B . "../my/1.txt"C ."c:\\my\\1.txt"D . "c:\ my\1.txt"13. 下面语句的功能是 ()。
RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" ); 1. txt ,既可以向文件写数据,也可以从文件读数据。
1. txt ,但只能向文件写入数据,不能从文件读取数据。
1.txt ,但不能向文件写入数据,只能从文件读取数据。
14. 下面的程序创建了一个文件输出流对象,用来向文件 test.txt 中输出数据,假设程序当 前目录下不存在文件 test.txt ,编译下面的程序 Test.java 后,将该程序运行3次,则文件test.txt 的内容是 ( ) 。
import java.io.*; public class Test {public static void main(String args[]) {try {String s="ABCDE"; byte b[]=s.getBytes();FileOutputStream file=new FileOutputStream("test.txt",true); file.write(b); file.close();}catch(IOException e) {System.out.println(e.toString());}}15. 下面关于java 中输入/输出流的说法错误的是()。
A) FilelnputStream 与 FileOutputStream 类用读、写字节流。
B) Reader 与 Writer 类用来读、写字符流。
C) Ran domAccessFile 只可以用来读文件。
D) File 类用来处理与文件相关的操作。
A •打开当前目录下的文件 B. 打开当前目录下的文件 C. 打开当前目录下的文件 D. 以上说法都不对。
A. ABCABCB. ABCDEC. TestD. ABCDE ABCDE ABCDE16. 关于BufferedReader类的readLine()方法,以下说法不正确的是() 。
A .方法readLine()每次读取一行数据。
B. 方法readLine()每次读取一个字节。
C. 该方法可能抛出lOException异常,调用该方法时通常应将它放到try块中,并通过catch 块处理异常。
D. 如果读到流的末尾,该方法返回的结果为null。
5.2填空题1. java的输入输出流包括_________ 、字符流、文件流、对象流以及多线程之间通信的管道。
2. java中的非字符输出流都是__________ 抽象类的子类。
3. java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是 _______4. java中的字符输出流都是抽象类____________ 的子类。
5. DataOutputStream数据流向文件里写数据的方法为 ______________ .6. RandomAccessFile 所实现的接口是___________ 和DataOutput 接口.7. 文件类________ 是java.io 中的一个重要的非流类,里面封装了对文件系统进行操作的功能.8. 文件操作中经常需要的是随机访问,java中的__________ 类提供了随机访问文件的功能.9. 所有的字节输入流都从_______________ 类继承,所有的字节输出流都从OutputSteam类继承。
10. 与用于读写字节流的InputStream类和Outputstream类相对应,Java还提供了用于读写Unicode字符的字符流Reader类和 _____________ 类。
5.3判断题31. 文件缓冲流的作用是提高文件的读/写效率。
(V )2. 通过File类可对文件属性进行修改。
(V )3. IOException 必须被捕获或抛出。
(V )4. Java系统的标准输入对象是System」n,标准输出对象有两个,分别是标准输出和标准错误输出System.err。
(V )5. 对象串行化机制是指将程序中对象的状态转化为一个字符流, 存储在文件中。
6. Serializable 接口是个空接口,它只是一个表示对象可以串行化的特殊标记。
5.4 程序阅读题1. 阅读下面的程序,并回答问题。
import java.io.*;public class Test {public static void main(String args[]) throws IOException { BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));while(true) {String str=buf.readLine();if(str.equals("quit"))break;int x=Integer.parseInt(str);System.out.println(x*x);}}}编译运行上面的程序:1) 从键盘输入5,回车后输出的结果如何?2) 从键盘输入quit ,回车后程序执行情况如何?2. 按注释提示完成文件复制的程序,写出( 1)和( 2)处的代码。
//FileStream 源代码如下:import java.io.*;class FileStream {public static void main(String args []) {try {File inFile = new File("file1.txt"); //指定源文件File outFile = new File("file2.txt"); //指定目标文件FileInputStream fis = ( 1 ) ;FileOutputStream fos = new FileOutputStream(outFile); int c;// 逐字节从源文件中输入,再输出到fos 流while ((c = fis.read ())!=-1)(2); fis.close(); fos.close();} catch (Exception e) { System.out(x )V)System.out.println("FileStreamsTest: "+e);}}}5.5 参考答案5.5.1 单项选择题:1.A2.B3.D4.A5.C6.D7.B8.D9.D 10. A 11.C 12.C 13.A 14.D 16.B15.C 5.5.2 填空题1. 字节流2. OutputStream3. 过滤流4. Writer5. write()6. DataInput 接口7. File8. RandomAccessFile9. InputStream10. Writer5.5.3 判断题1. V2. V3. V4.V5. X6. V5.5.4 程序阅读题1. 答案:1)252)终止应用程序的运行。
2.答案:( 1) new FileInputStream(inFile);( 2) fos.write(c);。