读取文件路径中文件夹里的文件名称

先根据提供的路径判断是否是文件,是则打印,不是则获取该文件夹下的所有文件和目录的文件名数组,再继续循环判断即可

public static void main(String[] args) {
        long startTime=System.currentTimeMillis();   //获取开始时间
         String[] filepaths = new String[2];
            filepaths[0] = "D:\\zc\\11";
            filepaths[1] = "D:\\zc\\22";
            Date time = new Date();
            SimpleDateFormat ts = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            for (String filepath : filepaths) {
                readfile(filepath);
            }
            long endTime=System.currentTimeMillis(); //获取结束时间
            System.out.println("程序运行时间: "+(endTime-startTime)/60000+"min");
   }
    /**读取文件*/
    public void readfile(String filepath) {
        File file = new File(filepath);
        if (!file.isDirectory()) {// 路径是文件
            System.out.println("文件");
            System.out.println("path=" + file.getPath());//返回的是定义时的路径
            System.out.println("absolutepath=" + file.getAbsolutePath());//返回的是定义时的路径对应的相对路径
            System.out.println("name=" + file.getName());//返回文件名称
        } else if (file.isDirectory()) {// 路径是文件夹
            System.out.println("文件夹");
            //list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组

           //listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

            String[] filelist = file.list();

            for (int i = 0; i < filelist.length; i++) {
                System.out.println("-----------------filelist:"+filelist.length+"----i:"+i+"---------------------");
                File readfile = new File(filepath + "\\" + filelist[i]);
                if (!readfile.isDirectory()) {
                     System.out.println("path=" + readfile.getPath());
                     System.out.println("absolutepath=" + readfile.getAbsolutePath());
                     System.out.println("name=" + readfile.getName());
                } else if (readfile.isDirectory()) {//路径是文件夹即目录
                    readfile(filepath + "\\" + filelist[i]);
                }
            }
        }
    }

你可能感兴趣的:(java)