Java如何获取指定目录文件列表

网友投稿 257 2022-11-28


Java如何获取指定目录文件列表

最近项目中会动态生成文件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[] lLCqSBDIddist = 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

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 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("--------------------------------");

ArrayListLCqSBDIdd listFileName = new ArrayList();

getAllFileName("F:\\xiaoshuo",listFileName);

for(String name:listFileName)

{

System.out.println(name);

}

}

}

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 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("--------------------------------");

ArrayListLCqSBDIdd listFileName = new ArrayList();

getAllFileName("F:\\xiaoshuo",listFileName);

for(String name:listFileName)

{

System.out.println(name);

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Maven项目继承实现过程图解
下一篇:Maven多个项目实现聚合过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~