包路径:java.io.File
功能:用于表示文件或者目录。
说明:File类只用于表示文件(目录)的信息(名称,大小),不能用于文件的访问
File file = new File("E:\\aa\\bb");
if(!file.exists())
file.mkdir();
else
file.delete();
说明:创建多级目录可以使用file.mkdirs();
判断是否是目录
//判断是否是目录
if(path.isDirectory())
System.out.println("这是一个目录");
else
System.out.println("这不是一个目录");
创建文件也是一样的方法
private static void createFile() throws Exception {
File file = new File("C:\\a\\test.txt");
boolean flag;
if(!file.exists()){
flag = file.createNewFile();
System.out.println("文件创建成功");
}else{
flag = file.delete();
System.out.println("文件删除成功");
}
//判断是否是文件
if(file.isFile())
System.out.println("这是一个文件");
else
System.out.println("这不是一个文件");
}
private static void normalAPI() {
File file = new File("c:\\QQ.txt");
//输出文件路径
System.out.println(file); //输出 c:\QQ.txt
System.out.println(file.getAbsolutePath());//输出 c:\QQ.txt
//文件名称
System.out.println(file.getName());//输出 QQ.txt
//父目录
System.out.println(file.getParent());//输出 c:\
}
更多的用法可以查询API
/**
* 列出指定目录(包括子目录)下的所有文件
*/
public static void listDirs(File dir) throws Exception{
if(!dir.exists()){ //目录是否存在
throw new IllegalArgumentException("目录:" + dir + "不存在");
}
if(!dir.isDirectory()){ //是不是目录
throw new IllegalArgumentException(dir + "不是目录!");
}
//列出目录下的文件名和目录名
String[] dirList = dir.list();
for (String s : dirList) {
System.out.println(dir + "\\" + s);
}
}
说明:该函数返回的是某个目录下的所有的目录名称和文件名称。但不包含子目录下的文件
/**
* 列出指定目录(包括子目录)下的所有文件
*/
public static void listDirs(File dir) throws Exception{
if(!dir.exists()){ //目录是否存在
throw new IllegalArgumentException("目录:" + dir + "不存在");
}
if(!dir.isDirectory()){ //是不是目录
throw new IllegalArgumentException(dir + "不是目录!");
}
File[] listFiles = dir.listFiles();
if(listFiles !=null && listFiles.length>0){
for (File file : listFiles) {
if(file.isDirectory()){
//递归
file.listFiles();
}else{
System.out.println(file);
}
}
}
}