当前位置: 代码迷 >> Android >> java 跟 android 文件管理器(递归算法)
  详细解决方案

java 跟 android 文件管理器(递归算法)

热度:41   发布时间:2016-05-01 13:08:21.0
java 和 android 文件管理器(递归算法)
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都可以用的文件管理器,可以实现添加删除目录,查看指定目录的文件,而且是目录树的形式,看起来非常清晰。

文件管理器应用非常广泛,杀毒软件,收集信息,好多功能可以扩展。本程序最重要的是递归算法,如有疑问请留言。

  相关解决方案