File类的综合应用

1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出

package FileText;

import java.io.File;

import java.io.IOException;

/**

 * 需求:递归删除带内容的目录假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出

 *1.创建File类的对象,并在当前项目下建立多层目录

 *2.调用File类的ListFiles()方法,返回File类型的字符串

 *3.自定义一个方法用来递归删除文件目录中的文件

 *4.for()循环获取该该数组中的每个文件路径,if()语句判断,如果是文件路径继续调用该方法,如果不是删除该文件夹下的文件

 *5.最后输出

 * */

public class FileText_09 {

    public static void main(String[] args) throws IOException {

       File file1=new File("a\\b\\c\\d");

       System.out.println("在当前项目下创建多层文件夹:" + file1.mkdirs());

//     File file2=new File("a\\b\\c\\d\\demo.txt");

//     System.out.println("在上述文件目录的底层创建demo.Text文件:" +file2.createNewFile());

       DelectFile(file1);

    }

    public static void DelectFile(File f){

       File[] files=f.listFiles();

      

       for(int i=0;i<files.length;i++){

           if(files[i].isDirectory()){

              files[i].delete();

           }else{

              System.out.println(files[i].toString() + "---" + files[i].delete());

           }

       }

       System.out.println(f +"---" + f.delete());

    }

}

 

2:需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台。

. package FileText;

import java.io.File;

/**

 * 需求:请大家把E:\code目录下所有的html结尾的文件的绝对路径给输出在控制台。

 * 1.File对象封装E:\code

 * 2.调用FIle类的listFiles()方法,返回File类型的数组

 * 3.对该数组进行非空判断

 * 4.用增强for()循环获取该数组中的每一个文件

 * 5.对每一个文件进行判断,是否同时为是绝对路径和满足以"html"结尾

 * 6.如果是,就调用getAbsolutePath()方法,将文件的绝对路径输出在控制台

 * */

public class FileText_08 {

    public static void main(String[] args) {

       File file=new File("e:\\code");

      

        File[] listFiles =file.listFiles();//将该文件夹下的文件封装在File类型的数组中

        System.out.println("该文件夹下以html结尾的文件绝对路径有:");

        if(listFiles!=null){

        for(File f:listFiles){

            if(f.getName().endsWith("html") &&f.isAbsolute()){

               System.out.println(f.getAbsolutePath());

            }

        }

        }

    }

}

 

3:下面程序段的执行结果是什么?( D  )

  public class Foo{

   public static void main(String[] args){

    try{

      return;}

      finally{System.out.println("Finally");

     }

   }

  }

A.编译能通过,但运行时会出现一个例外。  B.程序正常运行,并输出 "Finally"。

C.程序正常运行,但不输出任何结果。 D.因为没有catch语句块,所以不能通过编

 

4:对于已经被定义过可能抛出异常的语句,在编程时( B )。

A.必须使用try/catch语句处理异常,或用throw将其抛出。

B.如果程序错误,必须使用 try/catch语句处理异常。

C.可以置之不理。

D.只能使用try/catch语句处理。

 

5:哪个关键字可以抛出异常?( B )

A.transient      B.throw    C.finally     D.catch

6:请问所有的异常类皆继承哪一个类?(A   )

A.java.lang.Throwable           B.java.lang.Exception

C.java.lang.Error                        D.java.io.Exception

7.System类在哪个包中?( B )

A.java.awt     B.java.lang  C.java.util  D.java.io

猜你喜欢

转载自blog.csdn.net/fath_kevin/article/details/78619999
今日推荐