File类常用方法

2019-04-29 08:52:02来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

构造方法:

  File(String pathname):根据一个路径得到File对象

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

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

//File(String pathname)
File file1 = new File("a.txt");
//File(String parent, String child):
File file2 = new File("D:\\Java\\test","a.txt");
//File(File parent, String child):
File parent = new File("D:\\Java\\test");
File file3 = new File(parent,"a.txt");

 常见成员方法: 

  public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了。创建成功返回true,失败返回false

  public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了

  public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

  public boolean renameTo(File dest):把文件重命名为指定的文件路径。若源文件和目标文件在同一目录下,结果是将源文件改名为目标文件;若不在同一目录下,则是将源文件剪切到目标文件目录,再重命名

  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[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

 

FilenameFilter:文件名称过滤器,用来过滤文件名。通常在File类的list()和listFiles()方法中使用

 源码如下:

@FunctionalInterface
public interface FilenameFilter {
    /**
     * Tests if a specified file should be included in a file list.
     *
     * @param   dir    the directory in which the file was found.
     * @param   name   the name of the file.
     * @return  <code>true</code> if and only if the name should be
     * included in the file list; <code>false</code> otherwise.
     */
    boolean accept(File dir, String name);

 

 案例:获取指定文件夹下后缀为.txt的文件名

package myfile;

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

public class FileTest2 {
    public static void main(String[] args) {
        File file = new File("D:\\Java\\test\\");
        String[] fileNames = file.list(new MyFilenameFilter());
        for(String filename: fileNames){
            System.out.println(filename);
        }
    }
}

class MyFilenameFilter implements FilenameFilter {
    /**
     * 
     * @param dir   目录名
     * @param name  目录下的文件名
     * @return  当name符合指定要求时返回true,否则返回false
     */
    @Override
    public boolean accept(File dir, String name) {
        if(name.endsWith("txt")){
            return true;
        }
        return false;
    }
}

 


原文链接:https://www.cnblogs.com/liualex1109/p/10791126.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mybatis配置详解

下一篇:jbpm - 工作流的基本操作