溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java獲取指定目錄文件列表

發(fā)布時(shí)間:2020-08-10 10:25:19 來源:億速云 閱讀:268 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Java獲取指定目錄文件列表,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

最近項(xiàng)目中會(huì)動(dòng)態(tài)生成文件html及相關(guān)資源文件(css,js,png,mp3),為了防止文件名重復(fù),需要獲取目錄中相同類型文件的最大編號(hào),下面我用代碼來實(shí)現(xiàn)獲得文件列表。

public static void getFiles(String path) {
 
  File file = new File(path);
  // 如果這個(gè)路徑是文件夾
  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;
}

如果想要獲得當(dāng)前文件夾中的文件名只需要 String [] fileName = file.list(); 就可以了。如果要包括文件中的文件名就可以用遞歸的方式。下面是兩個(gè)具體的實(shí)現(xiàn)。

  其中public static String [] getFileName(String path)是只得到當(dāng)前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括當(dāng)前文件及其子文件的文件名。

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);
    }
     
  }
}

看完了這篇文章,相信你對(duì)Java獲取指定目錄文件列表有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI