永发信息网

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

答案:6  悬赏:0  手机版
解决时间 2021-01-28 03:01
java中怎样获得一个文件夹中的所有文件名
最佳答案
首先我们得拿到这个正确的文件路径

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

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

全部回答
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()判断,如果不知道请查看手册
我直接给你个计算文件数的方法吧,递归调用。
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;
}
这个还真没用过,你可以去java api文档去找,应该在java.io包中,要得到什么,这个方法的前缀应该是get.锻炼一下自己查文挡的能力.自己去api找找,这也是一种自学的能力.
上面方法也可以,我这种直接就可以得到名字,不需要先转化为File对象
File file=new File("D:\\");
String test[];
test=file.list();
for(int i=0;i {
System.out.println(test[i]);
}

  如果想要获得当前文件中的文件名只需要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);
        }
        
    }
}
  运行时需要更改一下具体的文件夹。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
徧诫的意思是什么啊?知道的请说下!
苹果4s越狱之后怎么恢复到没越狱的状态
顺城发室怎么去啊,我要去那办事
语文。一句话中要有比喻、夸张、排比。
近代日本曾经像中国一样被西方国家欺凌,但当
一个自然数除326、258、207得到的余数相同,
海拉尔哪里洗刺青最好?
斜曛的意思是什么啊?知道的请说下!
如何用C语言编程,读取MSP430管脚P6.3的数据
用一块长6米,宽2米的红布,做成用来做成两条直
阿波发室地址在哪,我要去那里办事
翻番问题如何计算?
梦到和儿子一起吃饭
德宝开锁怎么去啊,我要去那办事
碧海云天怎么去啊,我要去那办事
推荐资讯
(共16分)回答下列问题I.(1)雄果蝇的X染色体来
丅146火车火车途经哪些站
浦发信用卡额度有多少
微店的申述原因怎么写
【花间一壶酒下一句】花间一壶酒下一句是什么
粮食局停车场(教育路)地址在什么地方,想过去
中国伤残医学杂志2016年第1期
最近村里来了一火卖新飞净水机器是不是骗子在
大气辐射的意思是什么啊?知道的请说下!
苹果ipad修改lp路由器码多少
北京的冬季某天的最高气温和最低气温分别是多
双网卡双宽带实现流量叠加的问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?