java 和 android 文件管理器(递归算法)
[java]
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Folder {
public static void main(String[] args) {
// TODO Auto-generated method stub
Folder folder = new Folder();
Scanner sc = new Scanner(System.in);
String flag = sc.nextLine();
flag = flag.trim();
try{
flag = flag.substring(11,flag.length());
}catch(Exception e){
e.printStackTrace();
folder.traverseDirectory(".");
return;
}
flag = flag.trim();
String flag1 = flag.substring(0, 3);
System.out.println("flag"+flag);
String file = flag.substring(3,flag.length()).trim();
System.out.println("判断标志"+flag1);
if(flag1.equals("add")){
File file1 = new File(file);
System.out.println("进入add");
System.out.println("创建目录");
file1.mkdir();
folder.traverseDirectory(".");
}else if(flag1.equals("del")){
System.out.println("执del");
File file2 = new File(file);
file2.delete();
folder.traverseDirectory(".");
}else if(flag1!=""){
System.out.println("浏览指定目录");
try{
folder.traverseDirectory(file);
}catch(Exception e){
System.out.println("输入路径不对");
}
}
}
static int blank = 0;
public void traverseDirectory(String name){
blank++;
File directory = new File(name);
File back[] = directory.listFiles();
for(int j=0;j<back.length;j++){
if(back[j].isFile()){
for(int i=0;i<blank;i++){
System.out.print("--");
}
System.out.println(back[j].getName());
}
}
for(int i=0;i<back.length;i++){
if(back[i].isDirectory()){
for(int j=0;j<blank;j++){
System.out.print("--");
}
System.out.println(back[i].getName());
traverseDirectory(back[i].getAbsolutePath());
blank--;
}
}
}
}
java和android都可以用的文件管理器,可以实现添加删除目录,查看指定目录的文件,而且是目录树的形式,看起来非常清晰。
文件管理器应用非常广泛,杀毒软件,收集信息,好多功能可以扩展。本程序最重要的是递归算法,如有疑问请留言。
补充:移动开发 , Android ,