【I/O】File常见用法总结

 

java.io.File

file可能是一个文件或者文件夹。

 

获取目录列表(全部/过滤)

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;
import java.util.regex.Pattern;

public class Test {
    public static void main(String[] args) throws IOException{
        File path=new File(".");
        String[] list;
        
        //list=path.list();  //获取该文件夹下的所有文件名
        
        list=path.list(new FilenameFilter(){   //FilenameFilter接口为参数 
            
            private Pattern pattern=Pattern.compile("(\\D)*");
            
            @Override
            public boolean accept(File dir, String name) {  //FilenameFilter接口需要实现的方法
                return pattern.matcher(name).matches();
            }
        });
        
        Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);  //字典顺序排序
        for(String item:list){
            System.out.println(item);
        }
    }
}

 

文件基本信息 / 文件创建和删除 / 文件的类型判断

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

public class Test {
    public static void main(String[] args) throws IOException{
        
        //file有可能是文件也有可能是文件夹。
        
        File file=new File("D:/test123/test1234");
        // 文件基本信息
        System.out.println("file绝对路径:"+file.getAbsolutePath());
        System.out.println("file是否可写:"+file.canWrite());
        System.out.println("file名:"+file.getName());
        System.out.println("file大小:"+file.length());
        System.out.println("file最后修改时间:"+file.lastModified());

        // 文件类型判断
        System.out.println("判断file是否为文件:"+file.isFile());
        System.out.println("判断file是否为文件夹:"+file.isDirectory());
        
        //boolean isCreateFile=file.createNewFile();
        boolean isCreateDirectory=file.mkdirs();  //区别file.mkdir();前者当父文件夹不存在时会创建父文件夹。后者不会
        
        //重命名或移动file
        File newFile=new File("D:/test123/test12");
        file.renameTo(newFile);    //此时会将test1234改为test12   ,这个方法一般用于重命名和移动file。
        
        //判断文件存在,删除文件夹
        if(newFile.exists()){
            newFile.delete();   
        }
    }
}

 

posted @ 2017-01-24 17:54  hellozay  阅读(450)  评论(0编辑  收藏  举报