用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、包括目录的写一个(当前目录下带目录的列出来);
辛苦了!!
ls
-1
|awk
i$0'
i=`pwd`'/'
(注意:这里
ls
后面那是个数字
1
而不是字母
l)
2、列出当前目录及子目录的文件、文件夹完整路径
ls
-r
|awk
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列举某个文件夹下所有的文件或者目录编程题