File类的使用

java.io.File 类用于表示文件(目录)
File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问

file类常用的api


package com.zhb.java;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) {
        //--注意\\
        File file = new File("E:\\javaio\\curry");
        //判断文件是否存在file.exists()
        System.out.println(file.exists());
        if(!file.exists()){
            file.mkdir();
        }else{
            file.delete();
        }
        //判断是不是目录 是->true  不是或者不存在  返回false
        System.out.println(file.isDirectory());
        //判断是不是文件
        System.out.println(file.isFile());

        //File file2 =new File("E:\\javaio\\riji.txt");
        File file2 =new File("E:\\javaio\\riji.txt");

        if(!file2.exists()){
            try {
                file2.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else{
            file2.delete();
        }

        //常用的file对象的api
        //file.toString()的内容
        System.out.println(file);
        //路径
        System.out.println(file.getAbsolutePath());
        //文件名
        System.out.println(file.getName());
        //父目录
        System.out.println(file.getParent());

    }

}

file类中遍历(列出指定目录下包括其子目录的所有文件)

具体实现类

package com.zhb.java;

import java.io.File;
import java.io.IOException;

// 列出File 的一些常用的操作比如过滤、遍历操作
public class FileUtils {
    /**
     * 列出指定目录下包括其子目录的所有文件
     * 
     * 
     */
    public static void listDirectory (File dir) throws  IOException{
        if(!dir.exists()){
            // 此异常表示向方法中传递了一个不合法或不正确的参数
            throw new IllegalArgumentException("目录:"+dir+"不存在");
        }
        if(!dir.isDirectory()){
            throw new IllegalArgumentException("不是目录");

        }
        //返回的是字符串数组 直接子的名称  不包含子目录
//      String [] filenames=dir.list();
//      for (String string : filenames) {
//          System.out.println(dir+"\\"+string);
//      }
        //如果要遍历自目录下的内容就要构造成file对象做递归操作
        File[] files= dir.listFiles();

        if(files!= null && files.length >0){
            for (File file : files) {
                if(file.isDirectory()){
                    listDirectory(file);
                }else{
                    System.out.println(file);
                }
            }
        }


    }

}

测试类

package com.zhb.java;

import java.io.File;
import java.io.IOException;

public class FileUtilTest1 {
    public static void main(String[] args) throws IOException{
        FileUtils.listDirectory(new File("E:\\erlangwork\\demo_0509"));
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值