我是靠谱客的博主 寂寞凉面,最近开发中收集的这篇文章主要介绍黑马程序员—File类的知识的总结及练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

1、  练习使用File类的相关方法,包括创建文件对象、删除文件、判断文件是否可执行、判断文件是否是文件、判断文件是否存在等等。

其中使用到了一个不常见的小知识点是File类的分隔符File.separator,这个分隔符可跨平台使用。

 

publicclass FileDemo

{

    publicstaticvoid main(String[] args)throws IOException

    {

       //consMethod();

       //method_1();

       //method_2();

       //method_3();

       //method_4();

       method_5();

    }

    //创建File对象

    publicstaticvoid consMethod ()

    {

       //a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象

       File f1 = new File("c:\abc\a.txt");

      

       File f2 = new File("c:\abc", "a.txt");

      

       File d = new File("c:\abc");

       File f3 = new File(d, "a.txt");

      

       System.out.println(f1);

       System.out.println(f2);

       System.out.println(f3);

      

       //跨平台的路径分隔符File.separator

       File f4 = new File("c:" + File.separator +"abc"+File.separator+"a.txt");

       System.out.println(f4); 

    }

   

    publicstaticvoid method_1() throws IOException

    {

       //创建文件名

       File f = new File("file.txt");

      

       //调用createNewFile建立实体文件

       System.out.println("create:"+f.createNewFile());

      

       //调用delete删除实体文件

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

    }

   

    publicstaticvoid method_2()

    {

       File f = new File("G:\file.txt");

      

       //判断文件是否可执行

       System.out.println("execute:"+f.canExecute());

      

       //判断文件是否存在

       System.out.println("execute:"+f.exists());

      

       //创建文件夹

       File f1 = new File("hello");

       System.out.println("mkdir:"+f1.mkdir());

      

       //创建多级文件夹

       File f2 = new File("a\b\c");

       System.out.println("mkdir:"+f2.mkdirs());

    }

 

    publicstaticvoid method_3()throws IOException

    {

       File f = new File("hhhh.txt");

      

       //创建文件hhhh.txt

       //f.createNewFile();

      

       //创建文件夹hhhh.txt

       f.mkdir();

      

       //判断f是否是文件夹

       System.out.println("dir:"+f.isDirectory());

      

       //判断f是否是文件夹

       System.out.println("file:"+f.isFile());

    }

   

    publicstaticvoid method_4()throws IOException

    {

       File f = new File("file.txt");

      

       //获取文件的相对路径

       System.out.println("path:"+f.getPath());

      

       //获取文件的绝对路径

       System.out.println("Absolutepath:"+f.getAbsolutePath());

      

       //获取文件的父目录

       //如果声明的是相对路径则返回为空

       System.out.println("parent:"+f.getParent());

    }

   

    publicstaticvoid method_5()throws IOException

    {

       File f1 = new File("G:\JAVA test\123.html");

       File f2 = new File("G:\JAVA test\456.html");

       f1.renameTo(f2);

    }

   

   

}

 

 

 

2、  练习:

练习

  将一个指定目录下的java文件的绝对路径,存储到一个文本文件中

  建立一个java文件列表文件

 

  思路:

  1、对指定的目的进行递归

  2、获取递归过程所有的java文件的路径

  3、将这些路径存储到集合中

 4、将集合中的数据写入到一个文件中

 

 

publicclass JavaFileList

{

    publicstaticvoid main(String[] args) throws IOException

    {

       //根据文件路径创建文件对象

       File f = new File("E:\mySQL\测试");

      

       //创建java文件列表父路径

       File javalist = new File("G:\");

      

       //创建java列表的文件

       BufferedWriter bw = new BufferedWriter(new FileWriter("G:\javalist.txt"));

      

       //执行

       javafilelist(f,bw);

    }

   

    //将一个目录下的java文件的路径写入一个文件中

    publicstaticvoid javafilelist(File dir,BufferedWriter bw) throws IOException

    {

       //获得目录下的所有文件及文件夹

       File[] files = dir.listFiles();

      

       //遍历这些文件及文件夹

       for(File f : files)

       {

           //如果文件不是文件而是文件夹,那么递归

           if(f.isDirectory())

              javafilelist(f,bw);

           else

           {

              //如果是文件就获得文件的名字与java的扩展名比较如

              //果是java文件就将它的绝对路径写入javalist文件中

              if(f.getName().endsWith(".java"))

              {

                  //获得文件的绝对路径

                  String line = f.getAbsolutePath();

                 

                  bw.write(line);

                 

                  bw.newLine();

                 

                  bw.flush();

                 

              }

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

           }

       }

    }

 

}

 

3、  练习:删除文件目录下的所有文件

 

publicclass RemoveDemo

{

    publicstaticvoid main(String[] args)

    {

       //获得文件目录

       File f = new File("G:\123");

 

       removedir(f);

    }

   

    publicstaticvoid removedir(File dir)

    {

        //获得文件目录下所有文件及文件夹

       File[] files = dir.listFiles();

      

       //遍历文件数组

       for(File f : files)

       {

           //如果是文件夹就递归执行

           if(f.isDirectory())

              removedir(f);

           else

              System.out.println(f.toString()+"::"+f.delete());

       }

      

       dir.delete();

    }

 

}

 

 

 

 

 

 

 

 


---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

最后

以上就是寂寞凉面为你收集整理的黑马程序员—File类的知识的总结及练习的全部内容,希望文章能够帮你解决黑马程序员—File类的知识的总结及练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部