File类方法总结

构造函数

复制代码代码如下:

public class FileDemo {
     public static void main(String[] args){
         //构造函数File(String pathname)
         File f1 =new File("c:\\abc\\1.txt");
         //File(String parent,String child)
         File f2 =new File("c:\\abc","2.txt");
         //File(File parent,String child)
         File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
         File f4 =new File(f3,"3.txt");
         System.out.println(f1);//c:\abc\1.txt

     }

 }

创建方法

1.boolean createNewFile() 不存在返回true 存在返回false     当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
2.boolean mkdir() 创建目录   创建此抽象路径名指定的目录
3.boolean mkdirs() 创建多级目录  创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

删除方法

1.boolean delete()  删除此抽象路径名表示的文件或目录
2.boolean deleteOnExit() 文件使用完成后删除

复制代码代码如下:

import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args){
        File f =new File("d:\\1.txt");
        try {
            System.out.println(f.createNewFile());//当文件存在时返回false
            System.out.println(f.delete());//当文件不存在时返回false
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


判断方法

1.boolean canExecute()判断文件是否可执行
2.boolean canRead()判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件或目录是否存在
5.boolean isDirectory()   测试此抽象路径名表示的文件是否是一个目录
6.boolean isFile()   测试此抽象路径名表示的文件是否是一个标准文件
7.boolean isHidden()  测试此抽象路径名指定的文件是否是一个隐藏文件
8.boolean isAbsolute()判断是否是绝对路径 ,文件不存在也能判断

获取方法

1.String getName()  返回由此抽象路径名表示的文件或目录的名称
2.String getPath()  将此抽象路径名转换为一个路径名字符串
3.String getAbsolutePath()   返回此抽象路径名的绝对路径名字符串
4.String getParent()    //如果没有父目录返回null
5.long lastModified()  //获取最后一次修改的时间
6.long length()    返回由此抽象路径名表示的文件的长度。
7.boolean renameTo(File f)
8.File[] liseRoots()//获取机器盘符
9.String[] list()    返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
10.String[] list(FilenameFilter filter)   返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
列出磁盘下的文件和文件夹

复制代码代码如下:

public class FileDemo3 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list();
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }

文件过滤
复制代码代码如下:

import java.io.File;
 import java.io.FilenameFilter;
 public class FileDemo4 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list(new FilenameFilter(){
                     //file 过滤目录 name 文件名
                     public boolean accept(File file,String filename){
                         return filename.endsWith(".mp3");
                     }
                 });
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }

File[]  listFiles()   返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

File[] listFiles(FilenameFilter filter)  返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

利用递归列出全部文件

复制代码代码如下:

public class FileDemo5 {
    public static void main(String[] args){
        File f =new File("e:\\音樂");
        showDir(f);
    }
    public static void showDir(File dir){
        System.out.println(dir);
        File[] files =dir.listFiles();
        for(File file:files){
            if(file.isDirectory())
                showDir(file);
            else 
                System.out.println(file);
        }
    }

}


移动文件

找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad 。

复制代码代码如下:

public class Test5 {
    public static void main(String[] args){
        File f1 = new File("d:\\");
        moveFile(f1);
    }

public static void moveFile(File dir){
    File[] files=dir.listFiles();
    for(File file:files){
        if(file.isDirectory())
            moveFile(file);
        else{
            if(file.getName().endsWith(".java"))
                file.renameTo(new File("c:\\jad\\"+
            file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值