Java file对象详解

File简介

File可以新建、删除、和重命名文件和目录。但File不能访问文件本身,如果需要访问文件内容,则需要 I/O;
File类的实例表示一个文件或者目录(文件夹);
构造一个File实例并不是创建这个目录或文件,而是该路径的一个抽象,它可能真实存在也可能不存在。(就是指向这个文件或目录)。

创建方法简介:

通过路径名字符串
public File(String pathname)
演示:

String pathname = “D:\aaa.txt”; //文件路径名
File file1 = new File(pathname);

通过父路径名字符串 和 子路径名字符串
public File(String parent, String child)
演示:

String parent = “d:\aaa”; //fu
String child = “bbb.txt”; //zi
File file3 = new File(parent, child);

通过父抽象路径名 和 子路径名字符串
public File(File parent, String child)
演示:

File parentDir = new File(“d:\aaa”); //抽象父类
String child = “bbb.txt”; //子类
File file4 = new File(parentDir, child);

无论该路径下是否存在文件或者目录,都不影响File对象的创建

绝对路径和相对路径

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。
  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

file 常用方法

getAbsolutePath()   获取路径

getPath()    路径名转换为字符串

getName()  返回文件或目录名

length()   文件长度

"判断类的常用方法"

exists()    是否存在

isDirectory()  是否为目录

isFile()     是否为文件

"创建删除"

createNewFile()   当且仅当具有该名称的文件尚不存在时,创建一个新的空文件

delete()  删除文件或目录  只能单目录

mkdir() 创建由此File表示的目录

mkdirs() 创建由此File表示的目录,包括任何必需但不存在的父目录 可创多级目录

"目录的遍历方法"

list()   返回String数组,表示文件或目录

listFiles() 返回File数组,表示File目录中的所有子文件或目录

常用案例:

案例1:搜索D:\aaa 目录中的.java文件。
分析:

  1. 目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录。
  2. 遍历目录时,获取的子文件,通过文件名称,判断是否符合条件。

演示:

public class DiGuiDemo3 {
    public static void main(String[] args) {
        // 创建File对象
        File dir  = new File("D:\\aaa");
      	// 调用打印目录方法
        printDir(dir);
    }

    public static void printDir(File dir) {
      	// 获取子文件和目录
        File[] files = dir.listFiles();
      	
      	// 循环打印
        for (File file : files) {
            if (file.isFile()) {
              	// 是文件,判断文件名并输出文件绝对路径
                if (file.getName().endsWith(".java")) {
                    System.out.println("文件名:" + file.getAbsolutePath());
                }
            } else {
                // 是目录,继续遍历,形成递归
                printDir(file);
            }
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值