File 文件类

File 类

也叫文件类,数据源。

构造方法

File(String parent,String child)
File(File parent,String child)
File(String name)
String path = "C:/Users/ASUS/Desktop/a.png" ;
File f1 = new File(path);
//直接构造文件类对象
File f2 = new File("C:/Users/ASUS/Desktop","a.png");
//分隔开开进行前面是 父文件夹 后面是内容
File f3 = new File(new File("C:/Users/ASUS/Desktop"),"a.png");
//创建文件对象来进行的

成员变量

separatorChar //文档分割符

** 文件路径的书写 **

String path = "image/a.png";
//直接利用 / 来进行书写
 path = "image"+File.separatorChar+"a.png";
 //用分隔的常量进行拼接

绝对路径和相对路径

 String path = "C:/Users/ASUS/Desktop/a.png";
 //绝对路径
 //存在盘符的就是代表的绝对路径
 File f1 = new File(path);
//相对路径
//所谓的相对路径指的就是 相对于当前的工程下来说的
File f2 = new File("a.png");

常用的方法

  • getName 文件名 就是名称
 File f = new File("C:/Users/ASUS/Desktop/a.png");
 System.out.println("名称 :"+f.getName());
  • getPath 路径名(构建时的路径名)
System.out.println("名称 :"+f.getPath());
  • getAbsolutePath 返回绝对路径
System.out.println("绝对路径名称"+f.getAbsolutePath());
  • getParent 返回父的路径
System.out.println(f.getParent());
  • exists 是否存在文件对象
  • isFile 是否时文件
  • isDirectory 是否时文件夹
 /**
 文件的状态
  */
        System.out.println(f.exists());
        System.out.println(f.isFile());
        System.out.println(f.isDirectory());
  • createNewFile 创建新文件
  • delete 删除文件
File f2 = new File("C:/Users/ASUS/Desktop/a/a.txt");
//在文件夹a中创建a.txt文件
boolean flag = f2.createNewFile();
//创建文件
System.out.println(flag);
/**
*删除的时候我们首先在a的文件夹里创建了一个b文件,这个默认是txt的,然后在进行删除的
*/
File f3 = new File ("C:/Users/ASUS/Desktop/a/b");
flag = f3.createNewFile();
System.out.println(flag);
flag = f3.delete(); 
System.out.println(flag);
  • mkdir 创建目录 (必须确保上级目录存在)
  • mkdirs (上级目录可以不存在 多级创建)
//创建单级目录
File f = new File("C:/Users/ASUS/Desktop/a/test/b");
boolean flag = f.mkdirs();
System.out.println(flag);
//创建多级目录
f = new File("C:/Users/ASUS/Desktop/a/test/c");
flag = f.mkdir();
System.out.println(flag);
  • list 下级名称
  • listFiles 下级名称对象
  • list
File ff = new File("C:/Users/ASUS/Desktop/a");
//下级文件或者文件夹的名称
String[] sub = ff.list();
for (String s: sub) {
    System.out.println(s);
}
//下级对象 listFiles
//指的是当前的袭击文件对象
File[] files = ff.listFiles();
for (File file: files) {
    System.out.println(file.getAbsolutePath());
}
//列出所有的盘符
//即就是当前电脑上的磁盘
File[] roots = ff.listRoots();
for(File r : roots) {    
	System.out.println(r.getAbsolutePath());
	    }

例子

简单遍历一个文件夹的文件并打印
思路分析:首先我们应该先由一个文件对象

  • 传入这个文件对象
  • 先判断这个对象是否存在
  • 再打印他的名称
  • 然后判断是否是文件夹
  • 是就遍历当前文件夹的文件对象
  • 然后再进行递归自己调自己
for (int i = 0; i < deep; i++) {
            System.out.print("-");
        }
        if (file.exists()) {
            System.out.println(file.getName());
            if (file.isDirectory()) {
                for (File f : file.listFiles()) {
                    printName(f, deep+1);
                }
            }
        } else {
            return;
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值