java File类的使用方式及示例

FIle类

  学习IO操作之前先来看看File类,这是一个对文件操作的类,并不涉及到文件的写入和输出,就跟我们平时在UI界面中操作文件一样,新增文件,删除文件等。(文件夹也是类似的),File类中的常用操作如下:

  • 新建文件
  • 删除文件
  • 新建文件夹
  • 删除文件夹
  • 判断是否为文件夹
  • 判断是否为文件

注:我们人也是要判断才能进行下一步操作的,例如是文件直接打开,是文件夹点击进入查看里面的内容。而文件是硬盘的最小单元,所以我们最终操作的都是文件。

  File类即是文件和目录名在java程序中的抽象表示,类似于操作系统和用户界面都是依赖于文件的路径字符串进行操作;所以,File类就是java程序用来操作文件的。

  • 所在的包:java.io

    注:java.io包中的类在默认情况下都是根据当前用户目录的相对路径来操作文件的。

     

构造方法

  1. 通过将给定的路径字符串转化为抽象路径名来创建File实例

    public File(String pathName);
    
  2. 根据父路径字符串和子路径字符创建File文件实例

    public File(String parent, String child);
    
  3. 根据父路径的FIle实例和子路径的字符串来创建对应子路径的File文件实例

    public File(File parent, String child);
    

抽象路径名:是一个和计算机操作系统无关的,用来表示文件的层级结构路径的一个抽象,例如在UNIX系统下根目录说明符使用"/",而在windows系统下使用的是”\“。但是抽象路径名的话就与这些无关,例如java目录下有个file.java文件,抽象路径说明了其层次结构~

 

常用方法

  • 获取文件字符串相关

    1. 获取文件或目录名称

      String getName();
      
    2. 将此抽象路径名转化为文件目录字符串,根据不同的系统转化出来的可能不太一样

      String getPath();
      
    3. 该抽象名称是否为绝对路径

      boolean isAbsolute();
      
    4. 判断该抽象路径名表示的是否是一个目录

      boolean isDirectory();
      
    5. 判断该抽象路径名表示是否是一个普通文件

      boolean isFile();
      
    6. 判断文件是否在硬盘中真实存在

      boolean exists();
      
  • 创建文件

    1. 该抽象路径名表示的目录不存在时创建目录

      boolean mkdir();
      
    2. 该抽象路径名表示的多级目录不存在时创建一个多级目录

      boolean mkdirs();
      
    3. 当且仅当具有该名称的文件尚不存在时,创建一个和该抽象路径名(即File对象实例)一致的新的空文件

      boolean creatNewFile();
      

创建文件的操作都是在已经创建了File实例对象(也就是抽象路径名存在了),调用File对象的这些方法。从这里也可以看出创建File对象时,对应路径的文件或目录不一定存在,只是对该路径进行一个抽象表示。

  • 删除文件

    boolean delete();		//删除文件
    
  • 遍历目录

    String[] list();	//命名该目录的子目录和子文件
    File[] listFilse();	//返回一个抽象路径名数组,表示该目录下的子文件
    

代码示例:例如如下的文件目录

File类示例


import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        // 创建file文件夹的抽象路径
        File file = new File("D:\\桌面\\file");
        System.out.println(file.isDirectory());     //判断是否是文件夹 -- true

        // 获取file文件夹下的所有子文件或子目录的文件名
        String[] files = file.list();
        for (String temp : files) {
            System.out.println(temp);
        }   // file1 和 readme.txt

        // 根据父路径的File实例和子目录路径 “file2” 的File实例 -- 注意file2文件夹并没有存在D:\桌面\file文件中
        File file2 = new File(file, "file2");
        System.out.println(file2.exists());     //false
        if (!file2.exists()) {  //判断文件是否存在,不存在则在硬盘中创建该目录
            file2.mkdir();
        }
        System.out.println(file2.exists());     //true
    }
}

总结

  1. 可以简单的将抽象路径看成是File对象的别称
  2. File类是用来简单的判断文件是否存在,创建目录,创建文件等操作,并不能对文件的内容进行读写;
  3. File对象可以为后面的的IO流操作准备数据来源和数据目的源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值