2014-03-14 76 views

回答

2

你可以只使用File#listFiles

File path = new File("path/to/the/folder/with/the/images/in/it"); 
File[] files = path.listFiles(); 

你也可以使用一個FileListFilter來確定哪些應返回與調用listFiles,讓您預先過濾

+0

你的回答比我好。 +1 – Ashish

+0

@Ashish我懷疑我們可能會發現OP正嘗試從嵌入式源文件而不是文件系統讀取圖像,但他們沒有提供任何工作環境...... – MadProgrammer

+0

好的,謝謝。我剛剛爲擴展添加了過濾器。 – Ashish

0

我假設你有名單隻有jpg文件或父文件夾中的子目錄。你可以使用這樣的東西。

public void loadImageFilesForFolder(final File folder) { 
    for (final File fileEntry : folder.listFiles()) { 
     if (fileEntry.isDirectory()) { 
      loadImageFilesForFolder(fileEntry); 
     } else { 
      loadImage(fileEntry.getAbsoluteFile()); 

     } 
    } 
} 

private void loadImage(File file) 
FileFilter filter = new FileNameExtensionFilter("JPEG file", "jpg", "jpeg"); 
if(filter.accept(file){ 
try 
{ 
    BufferedImage img = ImageIO.read(file); 
    } 
catch (IOException e) 
{ 
    e.printStackTrace(); 
} 


} 

final File folder = new File("/home/you/Desktop"); 
loadImageFilesForFolder(folder); 
相關問題