当前位置:编程学习 > JAVA >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,