java中读取目录下所有文件

shigy1001 2012-09-28 11:42:21
我写一个java程序,想读取一个目录下所有的子目录,但是不想得到他子目录的子目录,求高手帮助
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
杀手 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

String _p="你要扫描的路径";

ArrayList pathList = new ArrayList();//得到所有的文件夹
ArrayList fileList = new ArrayList();//得到所有的文件

File ff = new File( _p );

String[] fl = ff.list();

if( fl!=null ){
……
[/Quote]

+1
comeandgo201205 2012-09-28
  • 打赏
  • 举报
回复
String _p="你要扫描的路径";

ArrayList pathList = new ArrayList();//得到所有的文件夹
ArrayList fileList = new ArrayList();//得到所有的文件

File ff = new File( _p );

String[] fl = ff.list();

if( fl!=null ){
for( int i=0 ; i<fl.length ; i++ ){
//取出单个对象,以方便判断
String _fn = fl[i];

File _ff = new File( _p + "/" + _fn );

if( _ff.isDirectory() )
{
pathList.add( _ff );
}

else
{
fileList.add( _ff );
}
}
}
菖蒲老先生 2012-09-28
  • 打赏
  • 举报
回复
那不更简单么?都不用递归了。。。
zqfddqr 2012-09-28
  • 打赏
  • 举报
回复
直接遍历
安特矮油 2012-09-28
  • 打赏
  • 举报
回复
只需要listFiles,然后判断是否是文件夹就可以了
  • 打赏
  • 举报
回复
public static void main(String[] args) {
LinkedList list = new LinkedList();
File dir = new File("E:\\user");
File file[] = dir.listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isDirectory())
list.add(file[i]);
else
System.out.println(file[i].getAbsolutePath());
}
File tmp;
while (!list.isEmpty()) {
tmp = (File) list.removeFirst();
if (tmp.isDirectory()) {
file = tmp.listFiles();
if (file == null)
continue;
for (int i = 0; i < file.length; i++) {
if (file[i].isDirectory())
list.add(file[i]);
else
System.out.println(file[i].getName());
}
} else {
System.out.println(tmp.getAbsolutePath());
}
}
}

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧