File类
- 概念:代表物理盘符中的一个文件或者文件夹。
- 方法:
createNewFile()
//创建一个新文件夹mkdir()
//创建一个新目录delete()
//删除文件或空目录exists()
//判断File对象所代表的对象是否存在getAbsolutePath()
//获取文件的绝对路径getName()
//取得名字getParent()
// 获取文件/目录所在的目录isDirectory()
//是否是文件length()
//获取文件的长度listFiles()
//列出目录中的所有内容renameTo()
//修改文件名为
File类的使用
- 2.文件操作
- 3.文件夹操作
FileFilter
接口的使用
public class Demo1 {
public static void main(String[] args) throws Exception {
directoryOpe();
}
public static void separator(){
System.out.println("路径分隔符" + File.pathSeparator);
System.out.println("名称分隔符" + File.separator);
}
public static void fileOpe() throws Exception{
File file = new File("e:\\file.txt");
if(!file.exists()){
boolean b = file.createNewFile();
System.out.println("创建结果:" + b);
}
System.out.println("获取文件的绝对路径" + file.getAbsolutePath());
System.out.println("获取路径:" + file.getPath());
System.out.println("获取文件名称:" + file.getName());
System.out.println("获取父目录:" + file.getParent());
System.out.println("获取文件长度:" + file.length());
System.out.println("文件创建时间:" + new Date(file.lastModified()).toLocaleString());
System.out.println("是否可写:" + file.canWrite());
System.out.println("是否是文件:" + file.isFile());
System.out.println("是否隐藏:" + file.isHidden());
}
public static void directoryOpe() throws InterruptedException {
File dir = new File("e:\\aaa\\bbb\\ccc");
System.out.println(dir.toString());
if(!dir.exists()){
System.out.println("创建结果:" + dir.mkdirs());
}
System.out.println("获取绝对理路径:" + dir.getAbsolutePath());
System.out.println("获取路径:" + dir.getPath());
System.out.println("获取文件夹名称" + dir.getName());
System.out.println("获取父目录:" + dir.getParent());
System.out.println("获取创建时间:" + new Date(dir.lastModified()).toLocaleString());
System.out.println("是否是文件夹" + dir.isDirectory());
System.out.println("是否是隐藏:" + dir.isHidden());
File dir2 = new File("e:\\SAI画画");
String[] files = dir2.list();
System.out.println("---------------");
for (String string: files) {
System.out.println(string);
}
System.out.println("------FileFilter接口的使用------");
File[] files2 = dir2.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.getName().endsWith(".jpg")){
return true;
}
return false;
}
});
for (File file : files2) {
System.out.println(file.getName());
}
}
}
递归遍历和递归删除文件夹
public class ListDemo {
public static void main(String[] args) {
listDir(new File("e:\\aaa"));
deleteDir(new File("e:\\aaa"));
}
public static void listDir(File dir){
File[] files = dir.listFiles();
System.out.println(dir.getAbsolutePath());
if(files !=null && files.length>0){
for (File file : files){
if(file.isDirectory()){
listDir(file);
}else{
System.out.println(file.getAbsolutePath());
}
}
}
}
public static void deleteDir(File dir){
File[] files = dir.listFiles();
if(files != null && files.length>0){
for (File file:files) {
if(file.isDirectory()){
deleteDir(file);
}else{
System.out.println(file.getAbsolutePath() + "删除:" +file.delete());
}
}
}
System.out.println(dir.getAbsolutePath() + "删除:" +dir.delete());
}
}