JAVA学习笔记——File文件类

1.File类:表示文件和目录路径名的抽象表示形式
(1)构造方法
  File(String pathname):根据一个路径得到File对象。
  File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
  File(File parent, File child):根据一个父File文件和一个子File文件/目录得到File对象

(2)功能方法
 A:创建功能:
  public boolean createNewFile():创建文件,如果存在该文件,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。
  public boolean mkdir():创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。
  public boolean mkdirs(): 创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则直接创建父目录返回true。
  
  注意:如果你创建文件或者文件夹时没有加路径,那么此时就是默认路径,默认在当前项目文件夹下。
  
 B:删除功能
  public boolean delete():删除一个文件或者文件夹,如果该文件夹下面有文件或者文件夹,则删除失败,返回false,删除成功返回true。

 C:重命名功能
  public boolean renameTo(File dest):如果参数File对象的路径和该File对象路径一样,则是改名,如果路径不同,则是改名+剪贴。

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

 E:获取功能
  public boolean getAbsolutePath():获取绝对路径
  public boolean getPath():获取相对路径
  public boolean getName():获取名称
  public long length():获取文件长度
  public long lastModified():获取最后一次修改时间,毫秒值
  
  高级获取功能
  public String[] list():获取指定目录下所有文件或者文件夹的名称数组
  public File[] listFiles():获取指定目录下所有文件或者文件夹的File数组
 
 F:文件过滤器
  public String[] list(FilenameFilter filter):获取指定目录下指定的文件的名称
  public File[] listFiles(FilenameFilter filter):获取指定目录下指定的文件。
  其中,FilenameFilter 是一个接口,因此可以知道filter肯定是FilenameFilter的一个实现类对象。
 具体用法如下:

//判断H盘下是否有JPG文件,有的话输出

        /*
         * 1   封装H盘
         * 2 获取目录下所有File数组
         * 3 判断是否是文件
         *      是:是否名字是以.JPG结尾
         *          是:获取名字输出
         *          否:无
         *      否:无
         */

        File file_H = new File("H:\\") ;
        File [] files = file_H.listFiles() ;
        //循环判断
        for (File file : files) {
            if (file.getName().endsWith(".JPG")) {    //字符串中的方法 endsWith("XX"):判断是否以XX为结尾
                System.out.println(file.getName());
            }
        }

        /*优化:文件过滤器改进
         * 
         * 1.封装H盘
         * 2。判断是否有以。JPG结尾的文件
         *          是:获取输出
         *          否:无
         */
        File file = new File("H:\\") ;
        String[] strFile = file.list(new FilenameFilter() {

            public boolean accept(File arg0, String arg1) {
                // 只有这边判断为真的时候文件名才会放进list中
                //System.out.println(arg0+"---"+arg1);  //输出H:\---迅雷下载 ,可见arg0是文件路径,arg1是文件名
                return arg0.isFile() && arg1.endsWith(".JPG");
            }
        });

        for (String string : strFile) {
            System.out.println(string);
        }

猜你喜欢

转载自blog.csdn.net/u012990327/article/details/79054849