学习File类需要搞懂的几个概念

File类

属于java.io.file中
和系统无关的一个类,任何OS都可以使用这个类

  • 使用场景:
    创建文件、目录
    删除文件、目录
    增添文件、目录
    判断文件、目录是否存在
    对文件夹遍历
    获取文件大小

  • 重点单词
    File:文件
    directory::目录
    path:路径

路径分隔符

每个OS的分隔符都不同,

  • 文件名称分隔符:
    Windows:(反斜杠)\ ,linux(正斜杠)/
    在File类中 由静态变量File.separator表示

  • 路径分隔符:
    Windows:分号 ,linux 冒号
    在File类中 由静态变量File.pathseparator表示

  • 使用场景:
    路径不能写死,必须要用 静态变量表示:
    C://aaa/ccc/File.java
    C:+File.separator+aaa+ccc+File.java
    (访问 C盘下aaa文件夹中的ccc文件夹下的名为:File的 java文件)

绝对路径和相对路径

  • 绝对路径:是指带有具体盘符的完整路径(C:\aaa\ccc\File.java)

  • 相对路径是在当前项目的根目录下的相对位置(简化书写)
    比如C:\aaa\ccc\为根目录,要访问File.java文件
    可简化为 File.java

  • 使用场景:
    绝对路径:查找文件
    相对路径 :配置项目文件信息,简化书写

  • 注意:
    路径不区分大小写
    反斜杠是转义字符,所以Windows需要两个 \

File类中的构造函数

  • 常用的构造函数
    File(String path)
    File(String parent ,String child)
    File(File parent,String child)
    这三种都能创建出File类型是实例对象,而且后2种更加灵活,File 的parent 能在传进去之后调用File类的方法。

File 常用的方法

  • 获取方法
    getAbsolutePath() :获取File的绝对路径字符串
File f1 = new File(C:\\abc\\hello.java);
f1.getAbsolutePath(); //得到的就是C:\abc\hello.java

现假设 根目录 的路径是C:\\abc
File f2 = new File(hello.java);
f2.getAbsolutePath(); //得到的还是绝对路径 C:\abc\hello.java

所以调用了这个方法,就会访问File的绝对路径

getPath(): 将File转换为路径名字符串
跟getAbsolutePath()方法不同,这个方法调用返回的值就是实例对象的路径(绝对的就返回绝对的,相对的就返回相对的)

File f1 = new File(C:\\abc\\hello.java);
f1.getPath(); //得到的绝对路径 C:\abc\hello.java

现假设 根目录 的路径是C:\\abc
File f2 = new File(hello.java);
f2.getPath(); //得到的是相对路径 hello.java

getName() : 获取文件名或目录名

  • length(): 返回文件大小
    注意: directory没有大小概念 file才有
    若构造函传递的文件路径是不存在的,那么返回length为 0

  • 判断功能的方法
    exists() :判断文件、目录是否存在
    isDirectory():判断是否为目录
    isFile():判断是否为文件

  • 创建以及删除功能的方法
    1、delete() 方法 :
    删除文件和目录都可以,删除目录时,保证目录为空。删除不走回收站,直接删除,谨慎操作
    2、mkdir()
    创建 单级目录 返回booler值
    true :创建成功,
    false:路径错误;目录已存在
    3、mkdirs()
    创建 多级目录 返回booler值
    true :创建成功,
    false:路径错误;目录已存在
    4、createNewFile()
    创建 新文件 返回booler值
    true :创建成功,
    false:路径错误;文件已存在

  • File遍历(文件夹)
    Filelist():返回的是File文件类型数组,表示FIle目录中的所有子文件和目录
    list():返回的是String 数组的list数组,表示FIle目录中的所有子文件和目录
    两种方法都遍历构造方法种的目录
    若这个路径是不存在,会抛出空指针异常
    若这个路径不是个目录,那也会抛出空指针异常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值