Java如何获取指定目录文件列表
最近项目中会动态生成文件html及相关资源文件(css,js,png,mp3),为了防止文件名重复,需要获取目录中相同类型文件的最大编号,下面我用代码来实现获得文件列表。
publicstaticvoidgetFiles(Stringpath){ Filefile=newFile(path); //如果这个路径是文件夹 if(file.isDirectory()){ //获取路径下的所有文件 File[]files=file.listFiles(); for(inti=0;i publicstaticFile[]getFilter(StringstrFilePath,StringstrExtension){ File[]list=newFile(strFilePath).listFiles(); for(Filefile:list) { if(file.isFile()) { if(file.getName().endsWith(strExtension)){ System.out.println(file.getAbsolutePath()); } } } returnlist; }如果想要获得当前文件夹中的文件名只需要String[]fileName=file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
其中publicstaticString[]getFileName(Stringpath)是只得到当前文件中的文件名。publicstaticvoidgetAllFileName(Stringpath,ArrayList
fileName)是包括当前文件及其子文件的文件名。 publicclassGetFileName { publicstaticString[]getFileName(Stringpath) { Filefile=newFile(path); String[]fileName=file.list(); returnfileName; } publicstaticvoidgetAllFileName(Stringpath,ArrayListfileName) { Filefile=newFile(path); File[]files=file.listFiles(); String[]names=file.list(); if(names!=null) fileName.addAll(Arrays.asList(names)); for(Filea:files) { if(a.isDirectory()) { getAllFileName(a.getAbsolutePath(),fileName); } } } publicstaticvoidmain(String[]args) { String[]fileName=getFileName("F:\\xiaoshuo"); for(Stringname:fileName) { System.out.println(name); } System.out.println("--------------------------------"); ArrayList listFileName=newArrayList (); getAllFileName("F:\\xiaoshuo",listFileName); for(Stringname:listFileName) { System.out.println(name); } } } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。