File类
File类作用
在java程序中,对磁盘文件进行描述的类。文件和目录路径名的抽象表示形式。
代码实现一:
File file = new File("d:\\a.txt");//创建一个文件对象,表示d盘的a.txt文件
System.out.println(file.canExecute());
System.out.println(file.canWrite());
System.out.println(file.canRead());
System.out.println(file.isHidden());
代码实现二:
File file = new File("d:\\a");
File f = new File("d:\\b.txt");
System.out.println(file.compareTo(f));
//exists方法:判断文件抽象路径表示的文件或目录是否存在
System.out.println(file.exists());
//createNewFile方法:创建一个新的空文件(若存在则创建失败)
System.out.println(f.createNewFile());
//delete方法:只能删除文件和空文件夹,非空文件夹不能使用delete方法删除
System.out.println(f.delete());
System.out.println(file.delete());
代码实现三:
File file = new File("d:\\a\\hello.txt");
System.out.println(file.exists());
System.out.println(file.isDirectory());//判断一个File对象是否是文件夹
System.out.println(file.isFile());//判断一个File对象是否是文件
String[] files = file.list();//获取文件夹中所有子文件夹和文件的名称(字符串形式)
System.out.println(files.length);
for(String s:files) {
System.out.println(s);
}
File[] fs = file.listFiles();//获取文件件中所有子文件夹和文件的抽象路径(File对象)
System.out.println(fs.length);
for(File f:fs) {
System.out.println(f);
}
//在创建一个文件时,需要先判断父目录是否存在,若不存在则创建父目录
File parent = file.getParentFile();
if(!parent.exists()) {
System.out.println(parent.mkdirs());//创建一个新的空文件夹
}
//对文件重命名
File file = new File("d:\\a.txt");
File f = new File("a.txt");
File f1 = new File("hello\\hello.txt");
System.out.println(file.renameTo(f));//将file表示文件重命名为f时,必须保证file是存在的文件
System.out.println(f.renameTo(f1));
列出指定目录下所有子文件夹以及子文件
public static void method1(String path) {
File file = new File(path);
//list
//子文件或者子文件夹的名称
String[] arr = file.list();
for(String str:arr) {
System.out.println(str);
}
}
列出文件夹中所有的子文件夹和文件,包括子文件夹中文件和文件夹
//1 列出文件夹中所有的子文件夹和文件,包括子文件夹中文件和文件夹
public static void listFiles(File dir) {
System.out.println(dir.getAbsolutePath());
File[] files=dir.listFiles();
if(files!=null&&files.length>0) {
for (File file : files) {
if(file.isDirectory()) {
//递归
listFiles(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.toString()+"-----"+file.delete());
}
}
}
//删除文件夹
System.out.println(dir.toString()+"*********"+dir.delete());
}
}