java 和 android 檔案管理工具(遞迴演算法)

來源:互聯網
上載者:User

[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都可以用的檔案管理工具,可以實現添加刪除目錄,查看指定目錄的檔案,而且是分類樹的形式,看起來非常清晰。

檔案管理工具應用非常廣泛,殺毒軟體,收集資訊,好多功能可以擴充。本程式最重要的是遞迴演算法,如有疑問請留言。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.