Java File

来源:互联网 发布:sql中删除行的数据 编辑:程序博客网 时间:2024/04/30 04:42

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.txtf:\javaio\file\fileDemo.txtfileDemo.txtf:\javaio\filef:\javaio\file\fileDemo.txtf:\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);
0 0
原创粉丝点击