超级详细的JavaFile类解析

首先我们来了解一下IO学习的主要知识点框架:

 在学习流式部分前先学习非流式部分可以更好理解

File类:

File类在包java.io.File下,代表的是操作系统的文件对象(文件、文件夹)

File类提供了:定位文件,获取文件本身的信息、删除文件、创建文件(文件夹)等功能。

关键点:File类不能对文件进行读写操作,它仅描述文件本身的属性

一个File对象要么指的是目录要么指的是文件,它是目录或者文件路径名的抽象表示形式

File file1=new File("D:\\TestCode\\src\\testcode");
 File file2=new File("D:\\TestCode\\src\\testcode\\Demo01.java");

file1和file2都是File的对象,file1是testcode这一目录的路径,而file2是Demo.java这个文件。

File创建对象支持绝对路径也支持相对路径

绝对路径:从硬盘符号开始的路径

D:\TestCode\src\testcode\Demo01.java

相对路径:从当前工程目录开始 

testcode\Demo01.java

File类的常用方法:

方法说明
isDirectory()判断此抽象路径名表示的File是否为文件夹(目录)
isFile()判断此抽象路径名表示的File是否为文件
exists()判断此抽象路径名表示的File是否存在
getAbsolutePath()返回此抽象路径名的绝对路径名字符串
getPath()返回此抽象路径名的绝对路径名字符串
getName()返回此抽象路径名的绝对路径名字符串
mkdir()只能创建一级文件夹
createNewFile()创建一个新的空的文件
mkdirs()可以创建多级文件夹
public File(String pathname)根据文件路径创建文件对象
public File(String parent, String child)从父路径名字符串和子路径名字符串创建文件对象

 

isDirectory()方法判断此抽象路径名表示的File是否为文件夹(目录)注意不能是文件!

 File file1=new File("D:\\TestCode\\src\\testcode");
      File file2=new File("D:\\TestCode\\src\\testcode\\WC");
      System.out.println(file1.isDirectory());
      System.out.println(file2.isDirectory());

运行结果:

如果该路径名不是目录或者该目录不真实存在,则该方法会返回false。 

createNewFile()方法可以创建一个文件

 

此时我的目录是没有Hello.txt文件的

 public static void main(String[] args) throws IOException{
      File file=new File("D:\\TestCode\\src\\testcode\\Hello.txt");
     file.createNewFile();
    }

 运行了代码之后:

注意点:createNewFile()方法是没有参数的,而且使用时需要抛出异常为了避免此目录中存在不真实的目录。

File类的遍历:

list()方法与listfiles方法都会返回该File目录的子文件或目录,前者返回的是字符串数组而后者返回一个封装好的File类数组,list()方法返回的是目录下的文件或文件夹名称,list files()方法放回的是目录下文件或文件夹的路径(注意是数组!)。

项目文件:

两种遍历方式: 

 File file=new File("D:\\TestCode\\");
      String file1[]=file.list();
      for(String f:file1)
      {
          System.out.println(f);
      }

File file=new File("D:\\TestCode\\");
      File file1[]=file.listFiles();
      for(File f:file1)
      {
          System.out.println(f);
      }

 

 需要注意的是如果File对象的路径并不存在或者File对象的路径代表的是一个文件而不是文件夹(目录),则会报出空指针异常。

以上是对File类的基本介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咩咩大主教

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值