Java学习之路(十一):IO流<前戏>

File类的概述和构造方法

构造方法:

  • File(String pathname):根据一个路径得到File对象
  • File(String parent,String child):根据一个目录和一个子文件/目录 得到File对象
  • File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象

File更应该叫做一个路径,文件 路径  或者  文件夹  路径

File是指文件或者目录路径名的抽象表示形式

创建功能:

  • public boolean createNewFile():创建文件,如果存在这样的文件,就不会创建了
  • public boolean mkdir():创建一个文件夹(目录),如果存在这样的文件夹就不再创建了
  • public boolean mkdir():迭代着创建文件夹,多层文件夹嵌套创建

重名名和删除功能:

  • public boolean renameTo(File dest):把文件重名为指定的文件路径(和Linux一样,重名名其实就是剪贴粘贴)
  • public boolean delete():删除文件或者文件夹(这种删除是不经过回收站的)

判断功能:

  • public boolean isDirectory():判断是否是空目录
  • public boolean isFile():判断是否是文件
  • public boolean exists():判断是否存在
  • public boolean canRead():判断是否可读
  • public boolean canWrite():判断是否可写
  • public boolean isHidden():判断是否隐藏

获取功能:

  • public String getAbsolutePath():获取绝对路径
  • public String getPath():获取路径
  • public String getName():获取名称
  • public long length():获取长度(文件的字节数)
  • public long lastModified():获取最后一次的修改时间,毫秒值
  • public String[] list():获取指定目录下的所有文件或者文件夹的名称 数组
  • public File[] listFile():获取指定目录下的所有文件或者文件夹的File数组

我们自己实现一个文件名过滤器

package null08012133;

import java.io.File;

public class Demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("C:/");
        File[] fileList = file.listFiles();
        for(File fileObj:fileList){
            if(fileObj.isFile()&&fileObj.getName().endsWith(".sys")){
                System.out.println(fileObj.getName());
            }
        }
        
    }

}

 

使用内置的一些方法进行判断

package null08012133;

import java.io.File;
import java.io.FilenameFilter;

public class Demo02 {

    public static void main(String[] args){
        File file = new File("C:/");
        String[] fileNames = file.list(new FilenameFilter(){

            @Override
            public boolean accept(File dir, String name) {
                // TODO Auto-generated method stub
                File f = new File(dir,name);
                return f.isFile()&&name.endsWith(".sys");
            }
        });
        for(String fileName:fileNames){
            System.out.println(fileName);
        }
    }
    
}

 

posted @ 2018-08-01 22:30  "%201  阅读(126)  评论(0编辑  收藏  举报