永发信息网

java中怎样获得一个文件夹中的所有文件名

答案:6  悬赏:0  手机版
解决时间 2021-01-28 03:01
  • 提问者网友:人生佛魔见
  • 2021-01-27 08:17
java中怎样获得一个文件夹中的所有文件名
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-01-27 08:28
首先我们得拿到这个正确的文件路径

其次,可以先判断一下我们所输入的文件路径是否正确,然后,在这个基础上在判断一下这个路径是文件夹还是文件,在判断为文件的基础上再次判断一下是否是.java结尾的文件,计数器即自增一次,字符输出流就写入一次,并且换行一次.

这个题目就差不多分析完了 ,接下就是主函数了,直接调用定义好的两个方法,就好了 

全部回答
  • 1楼网友:轻雾山林
  • 2021-01-27 14:02
import java.io.File;
public class Dir {
public static void main(String[] args) {
File file = new File(".");
File[] lf = file.listFiles();
for(int i=0; i System.out.println(lf[i].getName());
}
}
}
这是获取当前目录所有文件的文件名,包括了文件和文件夹的名,如果你要区分文件和文件夹,请使用isDirectory()判断,如果不知道请查看手册
  • 2楼网友:未来江山和你
  • 2021-01-27 12:46
我直接给你个计算文件数的方法吧,递归调用。
public static int countFile(String path){
int sum = 0;
try{
File file = new File(path);
File[] list = file.listFiles();
for (int i = 0;i if(list[i].isFile()){
sum++;
}
else{
sum+=countFile(list[i].getPath());
}
}
}catch(NullPointerException ne){
System.out.println("找不到指定路径!");
}
return sum;
}
  • 3楼网友:几近狂妄
  • 2021-01-27 11:51
这个还真没用过,你可以去java api文档去找,应该在java.io包中,要得到什么,这个方法的前缀应该是get.锻炼一下自己查文挡的能力.自己去api找找,这也是一种自学的能力.
  • 4楼网友:迟山
  • 2021-01-27 10:35
上面方法也可以,我这种直接就可以得到名字,不需要先转化为File对象
File file=new File("D:\\");
String test[];
test=file.list();
for(int i=0;i {
System.out.println(test[i]);
}
  • 5楼网友:山君与见山
  • 2021-01-27 09:07

  如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
  其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList fileName)是包括当前文件及其子文件的文件名。public class GetFileName
{
    public static String [] getFileName(String path)
    {
        File file = new File(path);
        String [] fileName = file.list();
        return fileName;
    }
    public static void getAllFileName(String path,ArrayList fileName)
    {
        File file = new File(path);
        File [] files = file.listFiles();
        String [] names = file.list();
        if(names != null)
        fileName.addAll(Arrays.asList(names));
        for(File a:files)
        {
            if(a.isDirectory())
            {
                getAllFileName(a.getAbsolutePath(),fileName);
            }
        }
    }
    public static void main(String[] args)
    {
        String [] fileName = getFileName("F:\xiaoshuo");
        for(String name:fileName)
        {
            System.out.println(name);
        }
        System.out.println("--------------------------------");
        ArrayList listFileName = new ArrayList(); 
        getAllFileName("F:\xiaoshuo",listFileName);
        for(String name:listFileName)
        {
            System.out.println(name);
        }
        
    }
}
  运行时需要更改一下具体的文件夹。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯