oracle认证的java考试(20)

所需积分/C币:10 2013-05-10 16:22:40 498KB PDF
6
收藏 收藏
举报

oracle认证的java考试(20)
arena 达内科技 QUESTION 194 DRAG DROP Chain these constructors to create objects to read from a file named"in"and to write to a file named“out” reader= Place here Place here In ter= Place here Place here Place here"out") Constructor new FileReader( new PrintReader new BufferedReader( new BufferedWriter( new FileWriter( new PrintWriter 考点: 字符流和字节流 考点说明: FileReader:从文件中读取字符流继承自 nputStreamReader,父类又继承 自 Reader;常用的构造方法: File reader( File file), Filereader( String filename)。 BufferedReader:读取字符输入流,继承自 Reader,常用构造方法: BufferedReader(Reader in) Filewriter:)于将字符流写入到文件中,继承自 Output Stream Writer父类又 继承自 Writer,常川的构造方法: Filewriter( File file,; Filewriter( String fileName), Buffered writer:用于写缓冲字符流,继承自 Writer,常用的构造方法 ButteredWriter(Writer out) PrintWriter(Writer out), PrintWriter( String fileNameYtnx Printwriter:继承自Wite,常用构造方法:Pri WrIter(File file) 本题详解: 没有 PrintReader这个类,所以此选项可以排除 reader中: FileReader可以用一个字符串来构造,而且 Bufferedreader构 造方法中传的是 Reader类型的, File Reader也是属于 Reader类的子类。 Writer中; File writer可以用一个字符串来构造,而且 Bufferedwriter和 PrintWritery都可以用 Writer类型的对象来构造,而且他俩都是继承自w'rter所 以这两个位置可以互换。但是 Printwriter的方法比较多,建议使用 Printwriter 封装 Bufferedwriter Answer reader= new BufferedReader( new FileReader(["in"); writer new PrintWriter( new BufferedWriter( new FileWritert(°out) 达内科技(屮国)有限公司版权所有 arena 达内科技 QUESTION 195 DRAG DROP Place the Fragments into the program, so that the program will get lines from a text file, display them, and the close all the resources, import java. o ode Fragments public class readFile i Buffered Reader public static void main (stringi args)i StreamReader File new File( myText. txt") FileReader Place here new Place here (×1); readLine Place here new Place here (X2); readln String x3= null read hile((x3 ? Place here ())=null close file System. out. printIn (x 3) close ? Place here catch(Exception ex)I ex printstackTrace 0; 3 4 考点 流的定义,输入流的相关方法,流的关闭 考点说明 File Reader:从文件中读取字符流,继承自 Input Reader,父类又继承 Reader;常用的构造方法: File reader( File file, Filereader( String filename) Bufferedreader:∶读取字符输入流,继承自 Reader,常用构造方法 Bufferedreader( Reader in)。其中其对象的 readline)方法可以读取文本中的 行。读到末尾时返回nu,即空字符串。 本题详解: 根据题目可以分析出,题目屮是使用 File reader包装一个文件对象x1,然 后又用此 File reade对象来构造一个 Bufferedreader对象x4,并利用此 Bufferedreader对象的 readline0方法来读取一行,然后在赋值给一个 String 对象x3,当x3不为nu时便把这些内谷打印出来,若为空时便是文件已经读完 达内科技(中国)有限公司版权所有 arena 达内科技 了,读完之后调用 Bufferedreader对象的 close(方法把x4流关闭。 A刀SWer import java.IO code fragments public class ReadFile i BufferedReader public static void main(stringl args)( Stream Reader File new File (MyText. txt); FileReader FileReader x2 = new File Reader (X1); readline BufferedReader X4 =new Buffered Reader (x2) readLn String x3= null; read while((x3 4 readLine O)!=null)( closeFile System. out println (X3) close x4 close 0); 3 catch(Exception ex)i X1 x2 exprintStackTrace( 4 达内科技(中国)有限公司版权所有 arena 达内科技 io流程 QUESTION 196 DRAG DROP Place the code fragments into position to use a Buffered Reader to read in an entire text file Class PrintFile i public static void main(string[ args BufferedReader buffReader null /more code here to initialize buffReader String tem while( Place here Place here System. out. printIn(temp); s catch Place here eprintstackTrace(; Code Fragments (temp=buffReader. readLine() & buffReader hasNext( (temp=buffReader. nextLineo)) (IOException e) l =null FileNotFound Exception e) 考点 Buffered reade读方法,及可能抛出的异常 考点说明 (1 Buffered Reader没有 nextLine(和 hasNex()方法 (2) Buffered Reader的 readline)方法: 功能:读取一个文本行。通过下列字符之一即可认为某行已终止:换 行("n)、回车(r)或回车后直接跟着换行。 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流 末尾,则返回nul 异常:| EXCeption-如果发生WO错误 木题详解 本题中用一个whie循环来把文件中的文本,一行一行的读出来。用 read line()方法返回值是否为空来作为循环纟续进行或结束的条件,当其返回值 为n时便不再循环打印,说明到了文件的末尾;而且此方法可能抛岀的异常为 达内科技(屮国)有限公司版权所有 arena 达内科技 EXception,所以应该用 try catch来处理此异常。 A刀SWer Class PrintFile i public static void main(string[ args Bufferedreader buffreader null lmore code here to initialize buffReader String temp hile ( temp=buff Reader. readLine() =null System. out. printIn(temp) 3 catch (IOEXception eX e printStackTrace(; 必 达内科技(中国)有限公司版权所有 arena 达内科技 序列化和反序列化 Filexxxstream是低层次的 Stream,通常用 ObjectXXXStream来封装它 们,这个类似于 Filereader和 Bufferedreader的关系。 声明为 transient的变量和 static变量不会被 serialize。 要序列化的类声明实现 Serializable接口,这个是个空接口。 在序列化的时候,虚拟机会自动做深度拷贝(注意拷贝的是对象内容而不是其 引用)。如果类的定义中有引用类型的实例变量( instance variable),那么这 个类也应该实现 Serializable接口,除非这个引用没有指向neW出的对象, 否则会抛出 NotserializableEXception,注意不是编译错误 例如: class Leg i class Dog implements Serializable Leg leg 必 /问题 class Leg class Dog implements Serializable Leg leg= new Leg(; ∥异常! 达内科技(中国)有限公司版权所有 arena 达内科技 序列化和反序列化 QUESTION 197 import java.io public class Forest implements Serializable private Tree tree new TreeO public static void main (String[ args) Forest f= new Forest(; FileOutputStream fs= new FileOutput Stream(Forest. Ser") ObjectOutputStream os= new ObjectOutputStream(fs) os.write Object(f) os.close( catch(Exception ex ex. printStackTrace0; 1 class Treet Given the code in the exhibit What is the result? A. Compilation fails B. An exception is thrown at runtime C. An instance of forest is serialized D. An instance of forest and an instance of tree are both serialized 本题考点: 序列化 考点说明: ObjectoutputStream os new ObjectOutputstream(fs):将一个 Forest的实 例保存在文件系统当中,而在ava语言当中规定:如果保存的是非八个基木类型 的引用类,那么,这个类就必须实现序列化接口( java. io Serializable)。否则 会抛出 jjava o NotSerializableEXception异常。 本题详解 在题当中,保存在文件当中的类已经继承了序列化接口,但是,类中存在 个引用类的成员变量,而这个成员变量类没有实现序列化接口 将个对象保存在文件当屮会同时将此对象的属性一起保存在磁盘上,所 以,Tree类也会被保存在磁盘上。但是,Tree类没有实现序列化接凵则必然要 抛出 Java.o. Not serializable Exception的异常 Answer. B 达内科技(中国)有限公司版权所有 arena 达内科技 QUESTION 198 1. import java. io 2. public class Foo implements Serializable 3. public int x,y 4. public Foo(int x, int yr this X=X; this. y=y: 6. private void writeObject(ObjectOutputStream s) 7. throws IOEXception( 8.S.writeInt(x); s writeln(y) 10 11 private void readobject(objectInputStream s) 12 throws IOEXception, ClassNotFoundException( 14∥/ insent code here Which code, inserted at line 14, will allow this class to correctly serialized and desterilize? A. A.S. default Readobject( B. This=s.defaultReadobject(: C. Y=Sdefault(: X=s readInt( D. X=sreadInt; y=s readInt( 考点: 文件序列化存储对象和反后列化对象的读取顺序 考点说明 百进行序列化的时侯:JM会调用 writeObject方法,来将对象中的属性一个 个进行序列化,我们可以在这个方法中控制住哪些属性需要序列化 当反序列化的时候:JVM会调用 readobject方法,将我们刚刚在 write Object 方法序列化好的属性,反序列化回来。 木题详解: 在本题中,序列化时在 writeObject(>法中先写了x属性,后写y属性。所 在反序列化时也应该先读X属性,后读y属性。 AnswerD 达内科技(屮国)有限公司版权所有

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享宗师

    成功上传21个资源即可获取
关注 私信
上传资源赚积分or赚钱
最新推荐