Java – read all the files and folders in a certain directory and three methods to get the file name from the file path

1 reads all files and folders in a directory

public static ArrayList<String> getFiles(String path) {
    ArrayList<String> files = new ArrayList<String>();
    File file = new File(path);
    File[] tempList = file.listFiles();

    for (int i = 0; i < tempList.length; i++) {
        if (tempList[i].isFile()) {
//              System.out.println("文     件:" + tempList[i]);
            files.add(tempList[i].toString());
        }
        if (tempList[i].isDirectory()) {
//              System.out.println("文件夹:" + tempList[i]);
        }
    }
    return files;
}

2 3 ways to get the file name from the file path

package test;

import java.io.File;

public class FileName {

    /**
     * @param args
     */
    public static void main(String[] args) {
//      举例:
        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);

//      方法二:

        String fName = fName.trim();

        String fileName = fName.substring(fName.lastIndexOf("/")+1);
        //或者
        String fileName = fName.substring(fName.lastIndexOf("\\")+1);

        System.out.println("fileName = " + fileName);

//      方法三:

        String fName = fName.trim();

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

        String fileName = temp[temp.length-1];
        System.out.println("fileName = " + fileName);
    }
}

Read More: