当前位置 博文首页 > 用心编码:java 编程思想--I/O系统(一)

    用心编码:java 编程思想--I/O系统(一)

    作者:[db:作者] 时间:2021-09-07 13:31

    一、File

    1. 基础知识

      File既可以表示特定的文件名称,又可以表示一个目录下的一组文件的名称。
      File 类是java.io包中唯一代表磁盘文件本身的对象,主要作用是获取文件本省的一些信息(文件所在目录,文件长度,文件读写权限等)。

    2. 文件操作

      创建文件、删除文件
      
    @Test
        public void test01() {
            File file = new File("word.txt");
            if (file.exists()) {
                file.delete();
                System.out.println("文件已删除");
            } else {
                try {
                    file.createNewFile();
                    System.out.println("创建新文件");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    获取文件属性
    
    @Test
        public void test02() {
            File file = new File("word.txt");
            if (file.exists()) {
                String name = file.getName();
                boolean canRead = file.canRead();
                long length = file.length();
                boolean isHidden = file.isHidden();
                System.out.println("name:" + name + ", canRead:" + canRead + ", length:" + length + ", isHidden:" + isHidden);
            } else {
                System.out.println("文件不存在");
            }
        }
    1. 目录列表器

      查看一个目录列表
      方法一:采用不带参数的list()方法,获取File对象包含的全部列表。
      方法二:采用目录过滤器来获取受限列表,比如只获取 “.java”文件。

    // 将 accept(File dir,String name)方法提供给 list()方法使用,使list()可以回调accept()。
    public class DirFilter implements FilenameFilter {
        private Pattern pattern;
    
        public DirFilter(String regex) {
            pattern = Pattern.compile(regex);
        }
    
        public boolean accept(File dir, String name) {
            return pattern.matcher(name).matches();
        }
    }
    cs
    下一篇:没有了