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);