java中如何获取目录中的所有文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何获取目录中的所有文件相关的知识,希望对你有一定的参考价值。

java中如何获取目录中的所有文件
最好有代码

public static void list(File path, String[] extArr,HashMap hm)
if (!path.exists())
System.out.println("文件名称不存在!");
else
if (path.isFile())
for (int i = 0; i < extArr.length; i++)
if (path.getName().toLowerCase().endsWith(extArr[i])) // 文件格式
hm.put(path.getName(), path);



else
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++)
list(files[i], extArr,hm);



参考技术A

/*** 

     * 获取指定目录下的所有的文件(不包括文件夹),采用了递归 

     *  

     * @param obj 

     * @return 

     */  

    public static ArrayList<File> getListFiles(Object obj)   

        File directory = null;  

        if (obj instanceof File)   

            directory = (File) obj;  

         else   

            directory = new File(obj.toString());  

          

        ArrayList<File> files = new ArrayList<File>();  

        if (directory.isFile())   

            files.add(directory);  

            return files;  

         else if (directory.isDirectory())   

            File[] fileArr = directory.listFiles();  

            for (int i = 0; i < fileArr.length; i++)   

                File fileOne = fileArr[i];  

                files.addAll(getListFiles(fileOne));  

              

          

        return files;  

      


java 如何在指定文件夹下查找文件

Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo
%JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:)
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。

呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

参考资料:百度一下

参考技术A java有个java.io.File封装了文件夹和文件的操作
File file1 = new File("C:\abc\a.txt"); //这个就是对文件的操作
File file2 = new File("C:\abc"); //这个就是对文件夹的操作
File[] filelist = file2.listFiles(); //这个就是列出文件夹里面的所有文件

详细的操作可以参考File类的api
参考技术B 顶一楼的

以上是关于java中如何获取目录中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章

如何获取目录下的文件数(一行Python)

如何获取一个目录下有多少个文件 java

如何获取给定目录中的所有文件名

如何获取子目录中所有文件的创建日期[重复]

如何获得当前Java文件的路径

如何从父目录和所有子目录中获取文件?