版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21122243/article/details/77102798
常用方法_文件夹操作
- Test04_DirMethod.java
package _01.io.file;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
/**
* 5.操作目录
* mkdir() 创建目录->必须确保父目录存在,如果不存在,创建失败
* mkdirs() 创建目录,如果父目录链不存在一同创建
* list() 文件|目录 名字符串形式
* listFiles() 文件|目录 File对象形式
* static listRoots() 根路径
*/
public class Test04_DirMethod {
public static void main(String[] args) {
test1();
}
/**
* mkdir() 创建目录->必须确保父目录存在,如果不存在,创建失败
* mkdirs() 创建目录,如果父目录链不存在一同创建
*/
public static void test1(){
String path ="E:/IOTest/text/a/temp";
File src =new File(path);
//src.mkdir();
src.mkdirs();
}
/**
* list() 文件|目录 名字符串形式
* listFiles() 文件|目录 File对象形式
*/
public static void test2(){
String path ="E:/IOTest/a";
File src =new File(path); //文件夹
if(src.isDirectory()){ //存在并且为目录
System.out.println("======子目录|文件名===");
String[] subNames =src.list();
for(String temp:subNames){
System.out.println(temp);
}
System.out.println("=====子目录|文件File对象====");
File[] subFiles =src.listFiles();
for(File temp:subFiles){
System.out.println(temp.getAbsolutePath());
}
System.out.println("=====子文件.java对象====");
//命令设计模式
subFiles =src.listFiles(new FilenameFilter(){
@Override
/**
* dir代表src
*/
public boolean accept(File dir, String name) {
//System.out.println(dir.getAbsolutePath());
return new File(dir,name).isFile()&&name.endsWith(".java");
}
});
for(File temp:subFiles){
System.out.println(temp.getAbsolutePath());
}
}
}
/**
* 输出子孙级目录|文件的名称(绝对路径)
* 1.listFiles()
* 2.递归
* static listRoots() 根路径
*/
public static void test03(){
String path ="E:/IOTest/";
File parent =new File(path);
printName(parent);
File[] roots =File.listRoots();
System.out.println(Arrays.toString(roots));
for(File temp:roots){
printName(temp);
}
}
public static void printName(File src){
if(null==src || !src.exists()){
return ;
}
System.out.println(src.getAbsolutePath());
if(src.isDirectory()){ //文件夹
for(File sub:src.listFiles()){
printName(sub);
}
}
}
}