Java File

File类

java.io.File
* File类用于表示文件(目录)
* File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问
File file=new File()创建file对象,File()的构造函数有很多,具体使用时查看API

File file=new File("f:\\javaio\\file");
  • file.exists()判断文件或目录是否存在
  • file.mkdir()创建目录
  • file2.createNewFile()创建文件 
  • file.delete()删除文件或目录  
  • file.isDirectory()判断是否是目录
  • file.isFile()判断是否是文件

判断目录是否存在,不存在则创建,存在则删除。

File file=new File("f:\\javaio\\file");
        System.out.println(file.exists());
        if(!file.exists()){
            file.mkdir();
        }else{
            file.delete();
        }

判断文件是否存在,不存在则创建,存在则删除。

File file2=new File("f:\\javaio\\file","fileDemo.txt");
        if(!file2.exists()){
            file2.createNewFile();
        }else{
            file2.delete();
        }

常用API

  • System.out.println(file2)打印出file.tostring()
  • System.out.println(file2)绝对路径
  • System.out.println(file2.getName())文件(目录)名称
  • file2.getParent()父路径
  • file2.getParentFile()父路径对应file类
System.out.println(file2);
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.getPath());
System.out.println(file2.getParentFile().getAbsolutePath());

运行结果

f:\javaio\file\fileDemo.txt
f:\javaio\file\fileDemo.txt
fileDemo.txt
f:\javaio\file
f:\javaio\file\fileDemo.txt
f:\javaio\file

File遍历目录

  • dir.list()返回的是字符串数组,直接子目录的名称,不是File
  • dir.listFiles()返回的是直接子目录的抽象,即File
1.遍历当前路径下的目录和文件

若文件夹里还有文件或目录则没有对其进行遍历

public static void listDirectory(File dir)throws IOException{
        if(!dir.exists()){
            throw new IllegalArgumentException("目录:"+dir+"不存在");
        }
        if(!dir.isDirectory()){
            throw new IllegalArgumentException(dir+"不是目录");
        }
        String []filenames=dir.list();//返回的是字符串数组;直接子目录的名称,而不是文件
        for(String name:filenames){
            System.out.println(name);
        }
}
2.遍历当前路径下的所有文件和目录

File对象做递归操作

public static void listDirectory(File dir)throws IOException{
    if(!dir.exists()){
        throw new IllegalArgumentException("目录:"+dir+"不存在");
    }
    if(!dir.isDirectory()){
        throw new IllegalArgumentException(dir+"不是目录");
    }
    File[] files=dir.listFiles();//返回的是直接子目录的抽象
    if(files!=null&&files.length>0){
        for(File file:files){
            if(file.isDirectory()){
                listDirectory(file);
            }else{
                System.out.println(file);
                  }
            }
        }
}

可对其进行测试

File file1=new File("f:\\javaio");
FileUtils.listDirectory(file1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值