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,ArrayListfileName)是包括当前文件及其子文件的文件名。 
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("--------------------------------");
ArrayListlistFileName=newArrayList();
getAllFileName("F:\\xiaoshuo",listFileName);
for(Stringname:listFileName)
{
System.out.println(name);
}
}
}   
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
 