您的位置:首页 > 其它

26.IO学习——File类

2015-08-02 12:58 267 查看
File类(重点):

1.概述

   
用于描述文件或者文件夹的对象,一定提供了

  操作文件或者文件夹的方法。

2.常用方法

    示例1:

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

   
//可以创建子目录

          
File fzimulu=new File("File\\a\\b\\v\\d\\d");

   
//1.判断其存在

          
boolean b=f.exists();

         
//创建。如果该文件不存在,则创建,如果存在,则不创建

    boolean
b=f.createNewFile();

   
//删除,不通过回收站,直接删除

    boolean
b=f.delete();

          
//创建文件夹

   
f.mkdr();

   
//判断是否是文件夹或者文件

   
f.isDirectory();

   
f.isFile();

    
示例2:

         
//获取

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

       
file.getAbsolutePath();//绝对路经

 file.getPath();//当前路径

 file.getParent();//父目录名

 file.getName();//文件名

 file.getFreeSpace();//所在硬盘的剩余空间

 file.getlastModified();//最后修改时间

 file.length();//字节长度

    

    
示例3:list();

              
//File类中的list()

  File file=new
File("C:\\Users\\Administrator\\Desktop\\近期计划");

  //目录不存在或者目录为文件,返回names为null,所以先判断

  if(file.exists() &&
file.isDirectroy())

    String[]
names=file.list();

  for(String name :
names)

  {

   System.out.println(name);

  }

    
示例4:list(filenamefilter)

      
//获取指定目录下的扩展名为.java的文件

      
方法1:

               
1)创建接口Filenamefilter

  2)实现

  File file=new
File("E:\\java");

  FilenameFilter filter=new
guolvhouzhui(".txt");

  String[]
names=file.list(filter);

  for(String name:names)

  {

   System.out.println(name);

  }

      
方法2:

               
//用listFiles()和listFiles(FilenameFilter filter)

       
 File file=new File("E:\\java");

  File[]
files=file.listFiles();

   for(File fil:files)

        
{

   System.out.println(fil.getName());

  }

3.列出目录包含子目录的内容(递归实现)

       
public static void listAll(File dir)

 {  //获得目录下的子目录

 

  File[]
files=dir.listFiles();

  for(File file:files)

    
{

   if(file.isDirectory())

   {

    listAll(file);

   }

   else

    System.out.println(file);

  }

        
}

4.删除一个有内容的目录(递归)

  
思路:   先删除里面的内容才可以删除文件夹

       
所以需要对文件夹进行包含子目录的遍历

   实现:

    public
static void removeDir(File dir)

    {

     
File[] files=fir.listFiles();

     
for(File file : files)

     
{

       
if(file.isDirectory())

 {

   removeDir(file);

 }

 else

 {

   //删除文件内容

   file.delete();

 }

     
}

     
//删除文件夹

     
dir.delete();

    }

5.递归

   
递归是自身调用自身

   
注意:1)一定要定义条件

         
2)要控制递归次数

    示例:

     

     
public static int getSum(int num)

     
{

       
if(num==1)

       
{

          
return 1;

        
}

        
return num+getSum(num-1);

     
}

         

   

  

小记:

  流操作的是文件中的数据,而不可以操作文件;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: