JAVA基础易错选择题(笔试题文件流部分)

1.下列属于处理流的有哪些( BD )
A ByteArrayInputStream
B BufferedInputStream
C FileInputStram
D DataInputStream

分析
按照流是否直接与特定的地方相连,分为节点流和处理流两类。
  节点流:可以从或向一个特定的地方(节点)读写数据。如FileReader.
  处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。
  JAVA常用的节点流:
(文 件) FileInputStream FileOutputStream FileReader FileWriter 文件进行处理的节点流。
(字符串) StringReader StringWriter
(数 组) ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter 对数组进行处理的节点流(对应的不再是文件,而是内存中的一个数组)。
(管道) PipedInputStream PipedOutputStream PipedReader PipedWriter
  父类接口 InputStream OutputStream Reader Writer
  JAVA常用处理流(关闭处理流使用关闭里面的节点流就可以)
  缓冲流:BufferedInputStrean BufferedOutputStream BufferedReader BufferedWriter
  转换流:InputStreamReader OutputStreamReader
  数据流 DataInputStream DataOutputStream 等(提供将基础数据类型写入到文件中,或者读取出来。)

2.下列属于 字节流的有哪些(B C )
 A FileReader
 B DataInputStram
 C FileOutputStram
 D StringReader
3.下列容器类属于线程安全的有哪些(B D )
A Arraylist B Vector
C LinkedList D Hashtable

4 FileoutputSteam这个本身是一个输出流的类。Java中jdk里面自带的类。并且 FileoutputSteam没有空参构造函数

5以下关于File 类说法正确的是(B.C ):
A: 一个File 对象代表了操作系统中的一个文件或者文件夹
B: 可以使用File 对象创建和删除一个文件
C: 可以使用File 对象创建和删除一个文件夹
D: 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹.
分析一个file对象代表了一个文件或者文件夹的引用,并不是直接物理上的。

在JAVA中有两种多态是指:运行时多态和编译时多态。
Throwable 接口 有两个子类:Error 和Exception
线程安全中常用同步方式有:同步代码块和同步方法.

重点内容
异常与错误的区别:
①.Exception(异常)是应用程序中可能的可预测、可恢复问题。一般大多数异常表示中度到轻度的问题。异常一般是在特定环境下产生的,通常出现在代码的特定方法和操作中。在 EchoInput 类中,当试图调用 readLine 方法时,可能出现 IOException 异常。
Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如,若试图使用空值对象引用、除数为零或数组越界,则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。
②.Error(错误)表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。
异常机制的作用:通过异常机制提高JAVA代码健壮性
异常机制的一个明显的好处是,使用异常降低错误处理代码的复杂度,如果不使用异常,那么对于可能出现的特定错误,必须检查处理,如果使用异常,就把这些可能的错误使用异常机制进行捕获,大大节省代码,而且把“正常执行”的代码与“异常”代码进行分离。

final与finally的区别
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。

编程题1
编程实现删除一个文件夹

 public void deleteFile(File file){

         if(file.isFile()){

             file.delete();

         }else if(file.isDirectory()){

             File[] files = file.listFiles();

             for(File f: files){

                 deleteFile(f);

             }

         }

     }

编程题2 有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数 打印出来

实现方法1(三层循环)

public static void main(String[] args)
 {
    int i=0;
    int j=0;
    int k=0;
    int t=0;
    for(i=1;i<=4;i++)
    for(j=1;j<=4;j++)
        for(k=1;k<=4;k++)
           if(i!=j && j!=k && i!=k)
           {t+=1;
               System.out.println(i*100+j*10+k);
 } 
    System.out.println (t);
    }
}

实现方法2

public static void main(String[] args)
{
HashSet  as=new HashSet//String
     for(int num=123;num<=432;num++){
      int a=num%10;//个位
      int b=num/10%10;//十位
      int c=num/100;//百位
      if((a!=b)&&(a!=c)&&(c!=b)&&(a!=0)&&(b!=0)&&(c!=0)&&(b<=4)&&(a<=4)){
    as.add(""+c+b+a);
    }
    }

     for (String st : as) {
        System.out.println(st); 
    }
    }

你可能感兴趣的:(文件流)