码迷,mamicode.com
首页 > 编程语言 > 详细

java获取指定目录中的文件列表

时间:2020-07-29 10:16:04      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:slist   相同   asList   with   direct   指定   ret   相关   防止   

最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表。

	public static void getFiles(String path) {

		File file = new File(path);
		// 如果这个路径是文件夹
		if (file.isDirectory()) {
			// 获取路径下的所有文件
			File[] files = file.listFiles();
			for (int i = 0; i < files.length; i++) {
				// 如果还是文件夹 递归获取里面的文件 文件夹
				if (files[i].isDirectory()) {
					System.out.println("目录:" + files[i].getPath());
					getFiles(files[i].getPath());

				} else {
					System.out.println("文件:" + files[i].getName()); // files[i].getPath());
				}
			}

		} else {

			System.out.println("文件:" + file.getPath());

		}
	}

  

	public static File[] getFilter(String strFilePath, String strExtension) {

        File[] list = new File(strFilePath).listFiles();
        
        for(File file : list)
        {
           if(file.isFile())
           {
               if (file.getName().endsWith(strExtension)) {
                   System.out.println(file.getAbsolutePath());
               }
           }
        }

        return list;
	}

  

        如果想要获得当前文件夹中的文件名只需要 String [] fileName = file.list();  就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

  其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> 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<String> 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<String> listFileName = new ArrayList<String>(); 
        getAllFileName("F:\\xiaoshuo",listFileName);
        for(String name:listFileName)
        {
            System.out.println(name);
        }
         
    }
}

  

java获取指定目录中的文件列表

标签:slist   相同   asList   with   direct   指定   ret   相关   防止   

原文地址:https://www.cnblogs.com/wzihan/p/13395104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!