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