第10章课后答案

一、问答题

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);

      }

   }

}

猜你喜欢

转载自blog.csdn.net/qq_41045071/article/details/80958345
今日推荐