java获取文件列表_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[] 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 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?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?listFileName?=?new?ArrayList();
getAllFileName("F:\\xiaoshuo",listFileName);
for(String?name:listFileName)
{
System.out.println(name);
}
}
}
總結
以上是生活随笔為你收集整理的java获取文件列表_java获取指定目录中的文件列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦mysql安装教程视频教程_织梦De
- 下一篇: java 信息增益_对信息增益(IG,I