Java学习笔记之 Flie方法(二)

电脑 E:\Test
这里写图片描述


// hashCode() 得到哈希码
File file = new File(“E:\Test”);
int hashCode = file.hashCode();

System.out.println(hashCode);

结果:
这里写图片描述


// isAbsolute() 判断 file的路径是不是绝对路径
    File file = new File("E:\\Test");
    boolean hashCode = file.isAbsolute();

    System.out.println(hashCode);

    File file1 = new File("..\\Test");
    hashCode = file1.isAbsolute();

    System.out.println(hashCode);

结果:
这里写图片描述


    File file = new File("E:\\Test");

// isDirectory() 判断 file是不是一个目录 
    boolean hashCode = file.isDirectory();
    System.out.println(hashCode);

 // isFile() 判断 file是不是一个文件
    hashCode = file.isFile();
    System.out.println(hashCode);

 // isHidden() 判断 file是不是一个隐藏文件或文件夹
    hashCode = file.isHidden();
    System.out.println(hashCode);

结果:true  false  false


    // lastModified() 获得目录最后一次修改的时间
    File file = new File("E:\\Test");
    long hashCode = file.lastModified();

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date date = new Date(hashCode);
    String format = df.format(date);
    System.out.println(format);

结果:
这里写图片描述

对比一下
这里写图片描述


// length() 获得文件的大小,以字节为单位 
    File file = new File("E:\\Test\\a.txt");
    long hashCode = file.length();


    System.out.println(hashCode);

结果:
这里写图片描述

对比
这里写图片描述


// list() 获得文件夹下的所有文件或文件夹的名称,以String数组的形式返回
    File file = new File("E:\\Test");
    String[] hashCode = file.list();

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

结果:
这里写图片描述

对比
这里写图片描述


// list(FilenameFilter filter) 获得filter 筛选后的文件夹下的所有文件或文件夹的名称,以String数组的形式返回
    File file = new File("E:\\Test");

    FilenameFilter filter = new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.endsWith("txt");
        }
    };

    String[] hashCode = file.list(filter);

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

结果:
这里写图片描述


// listFiles() 获得文件夹下的所有文件或文件夹的名称,以File 数组的形式返回
    File file = new File("E:\\Test");

    File[] hashCode = file.listFiles();

    for (File string : hashCode) {
        System.out.println(string);
    }

结果:
这里写图片描述


// listFiles(FilenameFilter filter) 获得filter 筛选后的文件夹下的所有文件或文件夹的名称,以File  数组的形式返回

    File file = new File("E:\\Test");

    FilenameFilter filter = new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.endsWith("txt");
        }
    };

    File[] hashCode = file.listFiles(filter);

    for (File string : hashCode) {
        System.out.println(string);
    }

结果:
这里写图片描述


// listFiles(FileFilter filter) 获得filter 筛选后的文件夹下的所有文件或文件夹的名称,以File 数组的形式返回
//  listFiles(FilenameFilter filter) 和 listFiles(FileFilter filter) 对比一下, 
    File file = new File("E:\\Test");

    FileFilter filter = new FileFilter() {

        @Override
        public boolean accept(File pathname) {
            return pathname.toString().endsWith("txt");
        }
    };

    File[] hashCode = file.listFiles(filter);

    for (File string : hashCode) {
        System.out.println(string);
    }

结果:
这里写图片描述


// listRoots() 静态方法,获得可用的系统根目录
    File[] listRoots = File.listRoots();
    for (File string : listRoots) {
        System.out.println(string);
    }

结果:
这里写图片描述

对比
这里写图片描述


// mkdir() 创建文件或者文件夹,创建一级目录,true表示创建成功
// 因为mkdir 只能创建一级目录,E:盘下只有Test目录,无法创建
\\Test\\Test\\Test三级目录
    File file = new File("E:\\Test\\Test\\Test\\Test");

    boolean mkdir = file.mkdir();
    System.out.println(mkdir);

结果:false


// mkdirs() 创建文件或者文件夹,多级目录,和mkdir 一样true表示创建成功
    File file = new File("E:\\Test\\Test\\Test\\Test");

    boolean mkdir = file.mkdirs();
    System.out.println(mkdir);

结果:true


    // renameTo(File dest) 重命名文件或者文件夹
    File file = new File("E:\\Test");  
    File file1 = new File("E:\\Text");
    file.renameTo(file1);  

结果:
这里写图片描述

对比运行之前
这里写图片描述


    // setExecutable(boolean executable)  
    // 设置此抽象路径名所有者执行权限的一个便捷方法。
    // setExecutable(boolean executable, boolean ownerOnly)
    // 设置此抽象路径名的所有者或所有用户的执行权限。

// setLastModified(long time) 设置文件或文件夹的最后修改时间
    File file = new File("E:\\Test\\aaa");

    file.setLastModified(1432276697017l);
    System.out.println(file.lastModified());

结果:1432276697017
这里写图片描述

对比没有操作之前
这里写图片描述


    // setReadable(boolean readable)
    // 设置这个文件或目录所有者的读取权限的便利方法。
    // setReadable(boolean readable, boolean ownerOnly)
    // 设置这个文件或目录所有者或每个对象的读取权限

    // setWritable(boolean writable)
    // 设置这个文件或目录所有者的写入权限的便利方法。
    // setWritable(boolean writable, boolean ownerOnly)
    // 设置这个文件或目录所有者或每个对象的写入权限

    // setReadOnly()
    // 设置文件或目录为只读

File file = new File("E:\\Test\\aaa");

    System.out.println(file.toPath());

    System.out.println(file.toString());

    System.out.println(file.toURI());

结果:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值