IO流 二、File类的使用

本文介绍了Java中File类的基本使用方法及其API,包括创建、删除文件或目录、获取文件属性等常见操作,并提供了遍历目录的示例代码。

2-1 File类常用API介绍

  • Java.IO.File类表示文件或目录,只用于表示文件或目录得信息,不能用于文件的访问。

常用的API:

  1. 创建File对象:File file=new File(String path);注意:File.seperater();获取系统分隔符,如:”\“.
  2. boolean file.exists();是否存在.
  3. file.mkdir();或者file.mkdirs();创建目录或多级目录。
  4. file.isDirectory()或者file.isFile()判断是否是目录或者是否是文件。
  5. file.delete();删除文件或目录。
  6. file.createNewFile();创建新文件。
  7. file.getName()获取文件名称或目录绝对路径。
  8. file.getAbsolutePath()获取绝对路径。
  9. file.getParent();获取父级绝对路径。
  10. file.getSize();获取文件大小。
  11. file.getFormat();获取文件格式名。

 

2-2 遍历目录

 import java.io.File;

import java.io.IOException;

 

// 列出file类的一些常用操作,比如过滤、遍历等操作

public class FileUtils {

    public static void listDirectory(File dir) throws IOException{

        // exists()方法用于判断文件或目录是否存在

        if(!dir.exists()){

            throw new IllegalArgumentException("目录:" + dir + "不存在");

        }

        // isDirectory()方法用于判断File类的对象是否是目录

        if(!dir.isDirectory()){

            throw new IllegalArgumentException(dir + "不是目录");

        }

        // list方法用于列出当前目录下的子目录和文件

/*

        String[] filenames = dir.list(); // 返回的是字符串数组 直接子的名称 不包含子目录下的内容

        for (String string : filenames) {

           System.out.println(dir + ":\\" + string);

        }

*/

        // 如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了返回File对象的API

        File[] files = dir.listFiles();

        // 返回的是直接子目录(文件)的抽象

        //for (File file : files) {

            //System.out.println(file);

         // }

        if(files!=null && files.length > 0){

            for (File file : files) {

                if(file.isDirectory()){

                // 递归

                listDirectory(file);

                }else{

                    System.out.println(file);

                }

         }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值