一、问答题
1.使用FileInputStream。
2.FileInputStream按字节读取文件,FileReader按字符读取文件。
3.不可以。
4.使用对象流写入或读入对象时,要保证对象是序列化的。
5.使用对象流很容易得获取一个序列化对象的克隆,只需将该对象写入到对象输出流,那么用对象输入流读回的对象一定是原对象的一个克隆。
二、选择题
1.C。2.B。
三、阅读程序
1.【代码1】:51。【代码2】:0。
2.【代码1】:3。【代码2】:abc。【代码3】:1。【代码4】:dbc。
3.上机实习题,解答略。
四、编程题
1. import java.io.*;
public class E {
publicstatic void main(String args[]) {
Filef=new File("E.java");;
try{ RandomAccessFile random=newRandomAccessFile(f,"rw");
random.seek(0);
long m=random.length();
while(m>=0) {
m=m-1;
random.seek(m);
int c=random.readByte();
if(c<=255&&c>=0)
System.out.print((char)c);
else {
m=m-1;
random.seek(m);
byte cc[]=new byte[2];
random.readFully(cc);
System.out.print(new String(cc));
}
}
}
catch(Exception exp){}
}
}
2. import java.io.*;
public class E {
public staticvoid main(String args[ ]) {
Filefile=new File("E.java");
FiletempFile=new File("temp.txt");
try{FileReader inOne=new FileReader(file);
BufferedReader inTwo= new BufferedReader(inOne);
FileWriter tofile=newFileWriter(tempFile);
BufferedWriter out= newBufferedWriter(tofile);
Strings=null;
inti=0;
s=inTwo.readLine();
while(s!=null) {
i++;
out.write(i+" "+s);
out.newLine();
s=inTwo.readLine();
}
inOne.close();
inTwo.close();
out.flush();
out.close();
tofile.close();
}
catch(IOException e){}
}
}
3. import java.io.*;
import java.util.*;
public class E {
public staticvoid main(String args[]) {
File file =new File("a.txt");
Scanner sc= null;
doublesum=0;
int count =0;
try { sc =new Scanner(file);
sc.useDelimiter("[^0123456789.]+");
while(sc.hasNext()){
try{ double price =sc.nextDouble();
count++;
sum = sum+price;
System.out.println(price);
}
catch(InputMismatchException exp){
String t = sc.next();
}
}
System.out.println("平均价格:"+sum/count);
}
catch(Exception exp){
System.out.println(exp);
}
}
}