java怎么获取一个目录下的所有文件名

Python022

java怎么获取一个目录下的所有文件名,第1张

获取一个目录下的所有文件和目录方法

import java.io.File

public class FileTest {

    public static void main(String[] args) {

        /**

         * 将目标目录封装成 File 对象。

         */

        File dir = new File("/Users/zym/Desktop/Mac应用程序")

        /**

         * 获取目录下的所有文件和文件夹

         */

        String[] names = dir.list()

        for (String name : names) {

            System.out.println(name)

        }

    }

}

通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。

过滤器:

import java.io.File

import java.io.FilenameFilter

public class FilterByDoc implements FilenameFilter {

    @Override

    public boolean accept(File dir, String name) {

        return name.endsWith(".doc")

    }

}

获取某个目录下的按照过滤器规则的所有文件:

import java.io.File

public class FileTest {

    public static void main(String[] args) {

        /**

         * 将目标目录封装成 File 对象。

         */

        File dir = new File("/Users/zym/Desktop/Mac应用程序")

        /**

         * 通过过滤器获取目录下的所有的 .doc 文件

         */

        String[] names = dir.list(new FilterByDoc())

        for (String name : names) {

            System.out.println(name)

        }

    }

}

希望能对您有所帮助!

如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名

import java.io.File

import java.util.ArrayList

public class FileTest {

    private static ArrayList<String> filelist = new ArrayList<String>()

    public static void main( String[] args ) throws Exception

    {

        String filePath = "E://Struts2"

        getFiles( filePath )

    }

    /*

     * 通过递归得到某一路径下所有的目录及其文件

     */

    static void getFiles( String filePath )

    {

        File root = new File( filePath )

        File[] files = root.listFiles()

        for ( File file : files )

        {

            if ( file.isDirectory() )

            {

                /*

                 * 递归调用

                 */

                getFiles( file.getAbsolutePath() )

                filelist.add( file.getAbsolutePath() )

                System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() )

            }else{

                System.out.println( "显示" + filePath + "下所有子目录" + file.getAbsolutePath() )

            }

        }

    }

}

java获取文件名方法有三种代码如下展示:

// 举例:

String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif "

// 方法一:

File tempFile =new File( fName.trim())

String fileName = tempFile.getName()

System.out.println("方法一:fileName = " + fileName)

// 方法二:

fName = fName.trim()

// fileName = fName.substring(fName.lastIndexOf("/")+1)

// 或者

fileName = fName.substring(fName.lastIndexOf("\\")+1)

System.out.println("方法二:fileName = " + fileName)

// 方法三:

fName = fName.trim()

String temp[] = fName.split("\\\\")/**split里面必须是正则表达式,"\\"的作用是对字符串转义*/

//temp[] = [G:, Java_Source, navigation_tigra_menu, demo1, img, lev1_arrow.gif]

System.out.println("temp[] = " + Arrays.toString(temp))

fileName = temp[temp.length-1]

System.out.println("方法三:fileName = " + fileName)