java-以代码为什么不能实现显示文件夹下的所有文件和文件夹??使用了递归

问题描述

以代码为什么不能实现显示文件夹下的所有文件和文件夹??使用了递归
public class hello3 {    public static void main(String[] args){        File dir=new File(""C:\Users\pc\Desktop\a"");        outputFile(dir);                 }        public static void outputFile(File file){            File[] aaa=file.listFiles();                        for(int i=0;i<aaa.length;i++){                if(aaa[i].isDirectory())                    {if(aaa[i].length()==0)                        System.out.println(aaa[i].getName());                    else                    outputFile(aaa[i]);}                else    System.out.println(aaa[i].getName());               }}}

解决方案

http://blog.csdn.net/zhy_cheng/article/details/7800103
http://blog.csdn.net/xiaoyu714543065/article/details/7380203

解决方案二:
public static void list(File f){
if(f.exists()){
File fs[]=f.listFiles();
for(File i:fs){
//如果是文件就直接打印名称
if(i.isFile()){
System.out.println(i.getName());
}else{
//如果是目录,就继续迭代
list(i);
}

        }    }}public static void main(String[] args) {            File f=new File(""E:\zxy_java"");    list(f);}

解决方案三:
if(aaa[i].isDirectory())
{if(aaa[i].length()==0)
System.out.println(aaa[i].getName());
else
outputFile(aaa[i]);}
}

改成
if(aaa[i].isDirectory())
{ outputFile(aaa[i]);

                      else                              System.out.println(aaa[i].getName()) ;}

解决方案四:

public static void main(String[] args) throws ClassNotFoundException            InstantiationException IllegalAccessException            IllegalArgumentException SecurityException            InvocationTargetException NoSuchMethodException {        File dir = new File(""C:\Users\"");        outputFile(dir);    }    public static void outputFile(File file) {        File[] aaa = file.listFiles();        // 需要处理aaa为空的情况,受权限影响无法获取文件夹内的内容,其实是有的,比如系统文件和隐藏文件,不同于空文件夹情况。        if (aaa == null) {            return;        }        for (int i = 0; i < aaa.length; i++) {            if (aaa[i].isDirectory()) {                System.out.println(aaa[i].getAbsolutePath());                outputFile(aaa[i]);            } else                System.out.println(""t--"" + aaa[i].getName());        }        }

解决方案五:
http://www.cnblogs.com/songxingzhu/p/3395994.html

时间: 2024-12-09 10:41:48

java-以代码为什么不能实现显示文件夹下的所有文件和文件夹??使用了递归的相关文章

代码分析-Java中如何判断文件夹下当天有没有放文件?

问题描述 Java中如何判断文件夹下当天有没有放文件? List files = ftpUtil.getFileList(this.ftpTaskFolder);//ftp任务目录上获取任务文件 // 获取机构号全量数据传输任务文件 String organcodeFileName = """"; for (int i = 0; files != null && i < files.size(); i++) { String tempFileN

java服务器-tomcat服务器下的webapps文件夹下一定是放.class文件的吗

问题描述 tomcat服务器下的webapps文件夹下一定是放.class文件的吗 tomcat服务器下的webapps文件夹下一定是放.class文件的吗 如果是的话 windows平台下cmd命令行是javac 进行编译,然后复制到webapps文件夹下,ecplise又如何部署呢 解决方案 虽然也可以全部拷过去,但是java文件既没有用,而且大多数人也不愿意分享自己的源代码--而且生产环境的服务器万一被黑客获取,拿走你的程序,我想谁也不愿意吧.

在.net项目中,有的文件夹下有.cs文件,有的文件夹下的页面只有.aspx文件,没有.cs文件,这是怎么回事?

问题描述 在.net项目中,有的文件夹下有.cs文件,有的文件夹下的页面只有.aspx文件,没有.cs文件,这是怎么回事? 解决方案 解决方案二:没有要求,aspx必须配备cs文件,所以这很正常解决方案三:发布之后,所有的.cs文件都编译到dll中了,就只剩.aspx了,你可以在项目上右键发布看看解决方案四:.aspx是页面文件用来展现网页界面的,.aspx.cs是代码文件,用来编程实现功能逻辑的..这两个文件是绑定到一起的,后者是前者的脚本另外还有单独的.cs文件,,,那个也是用来写代码实现功

log4j:在某个文件夹下输出多个日志文件

问题描述 log4j:在某个文件夹下输出多个日志文件 开户的过程中,想让每个手机号对应一个日志文件,都放在同一个目录下. 日志文件的名字以手机号来命名.使用log4j,应该怎么做呢? 急求急求,大家帮帮忙...... 解决方案 log4j输出多个自定义日志文件Log4j输出日志到文件[配置]log4j异步文件日志输出配置 解决方案二: 创建日志得时候用手机号命名呗

qtp-安装QTP后在Program file文件夹下找不到HP文件夹

问题描述 安装QTP后在Program file文件夹下找不到HP文件夹 在W7环境下安装了QTP11,默认安装路径为C:Program files/HP但是安装完之后找不到路径所指示的文件夹,怎么办? 解决方案 windows 7 64bit么?如果是64bit,在C:Program Files (x86)看看 解决方案二: 可以参考卸载后,换一个简单的目录安装试试,不要安装在 Program files 下

批量删除文件夹下包含指定字段的文件

using System; using System.IO; using System.Text.RegularExpressions; class App { static void Main() { Console.WriteLine("##########################[程序使用说明]############################"); Console.WriteLine("--目 的:本程序用来删除指定文件夹下包含指定字段的文件用-----

将E盘下的180文件夹下的所有最深层文件放到E盘下的car文件加下,并且要求重命名文件,并且判断最里层文件同目录下是否有多个文件,并且判断文件夹是否为空

package com.cheyoushuor.enamefile; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public

php遍历一个文件夹下的所有目录及文件

在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹. 这个题目有好多种解决方法.但大致思路都一样.采用递归. $path = './filepath';   function getfiles($path)   {       if(!is_dir($path)) return;      $handle  = opendir($path);      while( false !== ($file = readdir($handle)))      {          

php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码_php技巧

<pre> <?php /********************** 一个简单的目录递归函数 第一种实现办法:用dir返回对象 ***********************/ function tree($directory) { $mydir=dir($directory); echo "<ul>\n"; while($file=$mydir->read()){ if((is_dir("$directory/$file"))

bat自动删除指定文件夹下前几天的文件的代码_DOS/BAT

复制代码 代码如下: @echo off set d=%date:~0,10% mshta vbscript:createobject("scripting.filesystemobject").opentextfile("wind.txt",2,true).writeline(dateadd("d",-2,"%d%"))(window.close) for /f %%m in (wind.txt) do (set tt=%%