欢迎来到天天文库
浏览记录
ID:34500239
大小:56.00 KB
页数:12页
时间:2019-03-07
《达内java核心api(下)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.请看下列代码:public class Foo { public static void main (String[]args) throws Exception { String name = "tarena"; byte[] c = name.getBytes(); try { File f = new File("company.txt"); FileOutputStream out = new Fil
2、eOutputStream(f, true); out.write(c); out.close(); } catch (IOException e) {} } }假设文件company.txt中已存在一些内容,则关于上述代码的说法正确的是:()。A.编译错误B.程序可以通过编译,运行后文件company.txt没有任何改变C.程序可以通过编译,运行后文件company.txt的长度变为0 D.程序可以通
3、过编译,运行后company.txt文件末尾增加了字符串“tarena”正确答案:D问题解析: 本题考查使用FileOutputStream实现追加写。 FileOutputStream类的构造方法FileOutputStream(File, boolean)的第二构造参数设置为true表示向文件末尾追加写数据,否则为覆盖写。2. 关于java.io.Serializable接口说法正确的是:()。A.java.io.Serializable中有一个serialID属性,但是没有方法B.类通过实现java.io.Serializable 接口以启
4、用其对象的序列化功能C.java.io.Serializable中有一个run方法,但是没属性D.java.io.Serializable接口没有方法或属性,仅用于标识可序列化的语义。正确答案:BD问题解析: 本题考查序列化的应用。Java提供了对象序列化和反序列化的算法。Serializable接口中没有任何方法或属性,类实现该接口,则该类的对象可以被序列化。3.请看下列代码:public static void main(String[] args) throws Exception{ FileOutputStream fos = ne
5、w FileOutputStream("record.dat"); BufferedOutputStream bos = new BufferedOutputStream(fos); bos.write('a');}关于上述代码编译运行的结果的是:()。A.编译错误B.实现向文件record.dat追加写入字符aC.实现向文件record.dat覆盖写入字符aD.文件record.dat无任何内容正确答案:D问题解析: 本题考查缓冲流的用法,BufferedOutputStream缓冲输出流内部也维护着一个缓冲区,每当我们向该流写数据时,
6、都会先将数据存入缓冲区,当缓冲区已满时,缓冲流会将数据一次性全部写出。使用缓冲输出流可以提高写出效率,例如本题中,就没有将缓冲区中的字符a写出去。这是因为在缓冲区中的数据保存直到缓冲区满后才写出,BufferedOutputStream默认的缓冲区为8k,显然缓冲区没有满。当然,也可以使用fluash方法将缓冲区中的数据强制写出或使用close方法关闭流,关闭流之前,缓冲输出流会将缓冲区数据一次性写出。4.假设random.dat文件为utf-8编码,其内容为“International”,请看下列代码的输出结果是:()。 RandomAccessFi
7、le raf = new RandomAccessFile("random.dat", "r"); raf.skipBytes(5); byte[] buf = new byte[8]; raf.read(buf); System.out.println(new String(buf)); raf.close();A.InternationalB.nationalC.rnationalD.ational正确答案:B问题解析:本题考查RandomAccessFile类的skipBytes方法,该方法可以跳过输入的 n 个字节以丢弃跳过的字节。
8、 本题中,在上述代码中,使用 RandomAccessFile类的skipBy
此文档下载收益归作者所有