19-01 File类

构造方法

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

创建方法

public boolean createNewFile();  //创建文件,如果存在这样的文件,就不创建的
public boolean mkdir();  //创建文件夹,如果存在这样的文件夹,就不创建了
public boolean mkdirs();  //创建文件夹,如果父文件夹不存在会帮你创建出来

重命名和删除方法

public boolean renameTo(File dest);  //把文件重命名为指定的文件路径
public boolean delete();  //删除文件或者文件夹,如果是文件夹,文件夹必须是空的

重命名注意事项

  • 如果路径名相同,就是改名
  • 如果路径名不同,就是改名并剪切

删除注意事项:

  • Java中的删除不走回收站
  • 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹

判断功能

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数组

文件名称过滤

1、手写过滤

public class Demo2_File {
    public static void main(String[] args) throws IOException {
        File file = new File("E:/");
        File[] files = file.listFiles();
        for(File file1 : files){
            if(file1.getName().endsWith(".jpg")){
                System.out.println(file1.getName());
            }
        }
    }
}

2、定义一个过滤器

public class Demo2_File {
    public static void main(String[] args) throws IOException {
        File file = new File("E:/");
        FilenameFilter filter = new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File file1 = new File(dir, name);
                return file1.isFile() && file1.getName().endsWith(".jpg");
            }
        };
        File[] files = file.listFiles(filter);
        for(File file1 : files){
            System.out.println(file1);
        }
    }
}
上一篇:实验七


下一篇:VisionPro 各控件的C#中类库 (CogToolBlock类)像函数设计一样。