本帖最后由 徐升2013 于 2013-4-3 09:06 编辑
public static void fun1(File file)
{
if(file.isDirectory())//判断是否是目录
{
File[] list = file.listFiles();//是目录建立数组接收内容
for(int x = 0;x<list.length;x++) //遍历数组。
{
fun1(list[x]); //每遍历一次都递归进行判断。
}
}
System.out.println(file);
}
上面是第一个方法,两个方法的目的都是为了获取目录下的所有文件和文件夹的操作。
public static void fun(File file)
{
try
{
if(!file.isDirectory()) //首先判断传入的是不是目录,不是目录抛出异常。
throw new IOException();
else
{
File[] a = file.listFiles(); //是目录 建立file数组,并接收内容。
for(int x = 0; x<a.length;x++)
{
if(a[x].isDirectory()) //遍历该数组,如果数组中的某个对象仍然是目录,进行递归,继续循环。
{
fun(a[x]);
}
else
System.out.print(a[x]+"\t\n" ) ;//最后打印所有内容。
}
}
}
catch (IOException e)
{
System.out.println("您输入的不是目录。"+e.toString());//简单的异常处理。
}
这个是我自己写的方法, 这里面的区别不用看异常的处理,这里的区别是:第一个方法是每次都会递归访问该方法,而我自己写的方法是判断之后才考虑是否递归访问,这两个方法哪个更好一些,第一个是某视频里面介绍的方法,自己感觉不是很好,不知道对还不对,所以来求证一下,感谢大神帮忙分析了
|