用java写一个代码实现: 如何列出某个目录下的所有子目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java写一个代码实现: 如何列出某个目录下的所有子目录相关的知识,希望对你有一定的参考价值。

只要求列出目录,不能列出文件

/**
* 列出文件夹下的子文件夹名
* @param localRoot
* @throws content
*/
public static void list(String localRoot) throws Exception
File[] fs = new File(localRoot).listFiles();
if ((fs == null) || (fs.length <= 0))
System.out.println("空文件夹");
return;

for (File f : fs)
if (f.isDirectory())
System.out.println("目录:"+ f.getName());




建立个class然后见个main方法调用一下就可以了!
参考技术A import java.io.*;
public class Test

static void myList(String s)

File f=new File(s);
String[] m=null;
m=f.list();
for(int i=0;i<m.length;i++)

File fm=new File(s+"/"+m[i]);
if(!fm.isFile())

System.out.println (fm.getName());
myList(s+"/"+m[i]);



public static void main (String[] args)
myList("a");//假设你的目录名是a 你可以换成别的


参考技术B 递归调用就行了嘛
public class Test
public static void find(String filePath)
File file = new File(filePath);
if (file.isDirectory())
System.out.println(file.getPath());
File[] listFiles = file.listFiles();
if (listFiles != null)
for (int i = 0; i < listFiles.length; i++)
if (listFiles[i].isDirectory())
Test.find(listFiles[i].getPath());






public static void main(String[] args)
find("c:");

参考技术C //:ListDirectories.java
import java.io.File;
import java.io.FileFilter;
public class ListDirectories
//File filter object.
private static FileFilter filter = new MyFilter();
public static void main(String[] args)
String dir = javax.swing.JOptionPane.showInputDialog("Input root dir here:");
if(dir!=null)
printRecursive(dir);


private static void printRecursive(String dir)
File df = new File(dir);
if(df.isDirectory() && df.canRead())
printRecursive(df);
else
System.out.println("Directory '"+dir+"' is not exists or can not be read.");


private static void printRecursive(File dir)
File[] files = dir.listFiles(filter);
if(files!=null)
for(int i=0; i<files.length; i++)
System.out.println(files[i].getAbsolutePath());
if(files[i].canRead())
printRecursive(files[i]);



//File filter
private static class MyFilter implements FileFilter
public boolean accept(File pathname)
return pathname.isDirectory();


PHP 列出当前目录下所有文件(自身别列出来)

PHP代码,要求列出当前目录下所有的文件,附上链接,就像IIS里勾选上浏览那选项一样。只是别把自己给列出来。。。。比如说访问某一目录下的INDEX.PHP,那么就可以把这目录下文件全部列出来! 供大家下载!!

1、排除目录的写一个(当前目录下又带目录的不列出来);
2、包括目录的写一个(当前目录下带目录的列出来);

辛苦了!!

1、列出当前目录的文件、文件夹完整路径
ls
-1
|awk
'print
i$0'
i=`pwd`'/'
(注意:这里
ls
后面那是个数字
1
而不是字母
l)
2、列出当前目录及子目录的文件、文件夹完整路径
ls
-r
|awk
'print
i$0'
i=`pwd`'/'
2b)
列出当前目录及子目录下的文件夹完整路径
ls
-fr
|
grep
/$
|
sed
"s:^:`pwd`/:"
3、用find实现,好像运行要慢些
find
/
-name
"*.*"
-exec
ls

\;
4、递归列出当前目录及子目录名称
ls
-fr
|
grep
/$
5、递归列出当前目录及子目录名称,包括相关属性
ls
-lr
|
grep
"^d"
#
drwxr-xr-x
3
idea
idea
4096
aug
2
2009
images
6、只列出当前目录下的子目录
用ls只列出子目录
ls
-d
*/
参考技术A <?php

$d=dir(".");
echo $d->path.$e;
while(false !== ($e= $d->read()))
echo "<a href=$e target=_blank >$e</a>"."<br>";

$d->close();
?>本回答被提问者采纳
参考技术B <style type="text/css">
<!--
a:link
text-decoration: none;

a:visited
text-decoration: none;

a:hover
text-decoration: underline;

a:active
text-decoration: none;

-->
</style>
<?
function dir_c($handle)
$url=$handle;
if ($handle = opendir($handle) )

while (($file = readdir($handle))==true)
if ($file != "." && $file != "..")

$url_c=$url."/".$file ;
$url_c=str_replace("///","/",$url_c);
$url_c=str_replace("//","/",$url_c);
echo "<tr><td ><div align=\"right\">$url/    </div></td><td><div align=\"left\"><a href=$url_c>$file</a></div></td></tr>\n";
if(is_dir($url_c)==true)
dir_c($url_c);



closedir($handle);


function dir_s($handle)
$str = <<<str
<table width="95%" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width="25%"> </td>
<td > </td>
</tr>
str;

echo $str;
dir_c($handle);

echo "</table>";

$handle = '../';
dir_s($handle);
?>

以上是关于用java写一个代码实现: 如何列出某个目录下的所有子目录的主要内容,如果未能解决你的问题,请参考以下文章

面试题求解:用java列举某个文件夹下所有的文件或者目录编程题

如何列出当前目录下,以install开头的所有文件

java怎么获取src目录下所有的包名,类名,方法名 以及通过一个类名获得该类下的所有方法名

用Java如何实现获取linux控制台的输出(分很多)

java怎样获得某个目录下所有文件的文件名

PHP 列出当前目录下所有文件(自身别列出来)