public class FileDemo {
public static void main(String[] args) {
File dir=new File("G:\\360驱动大师目录");
showDir(dir,0);
}
//打印目录下第一级内容
public static void listDemo(){
File f=new File("c:\\");
String[] names=f.list();//调用list方法的对象必须是目录
for(String name:names){
System.out.println(name);
}
}
//获取系统磁盘名称
public static void listRootsDemo(){
File[] files=File.listRoots();//获取盘符
for(File f:files){
System.out.println(f);
}
}
//过滤方式获取文件
public static void listDemo_2(){
File dir=new File("F:\\SVN_D\\DD\\src\\com\\ygl");
String[] arr=dir.list(new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
/*if(name.endsWith(".java")){
return true;
}
else{
return false;
}*/
return name.endsWith(".java");
}
});
System.out.println(arr.length);
for(String name:arr){
System.out.println(name);
}
}
//listFiles()获取当前目录名称对象
public static void listFiles_Demo(){
File dir=new File("G:\\");
File[] files=dir.listFiles();//当前目录下内容
for(File f:files){
System.out.println(f.getName());//文件名,不带路径
}
}
//列出目录下的所有文件,带层次
public static void showDir(File dir,int level){
//System.out.println(getLevel(level)+dir.getName());
if(dir!=null){
if(!dir.isHidden()&&dir.isDirectory()){
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files=dir.listFiles();
if(files!=null){
for(int i=0;i<files.length;i++){
showDir(files[i],level);
}
}
}else{
System.out.println(getLevel(level)+dir);
}
}
}
public static String getLevel(int level){
StringBuilder sb=new StringBuilder();
sb.append("|--");
for(int x=0;x<level;x++){
sb.insert(0," ");
}
return sb.toString();
}
}