or1ko's diary

日々を書きます

FileSystemView.getFileSystemView().getSystemIconの出力画像

下記のURLでサムネイルの取得方法を知ったので、実際にどんな画像がでてくるのか試してみた。
実際とれたのは、サムネイルというよりはアイコンだった。

http://stackoverflow.com/questions/1498506/java-howto-get-the-thumbnail-from-a-file

入力に使ったフォルダ

f:id:mono-hate:20140309213623p:plain

出力された画像

f:id:mono-hate:20140309213632p:plain

使ったソースコード
package thumbnail;

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.filechooser.FileSystemView;

public class ThumbnailCreator {
  public static void main(String[] args) throws IOException {
		
    String inputDir = "<一覧を作るためのフォルダ>";
    String ouputDir = "<サムネイルを出力するフォルダ>";
    File file = new File(inputDir);
		
    File[] children = file.listFiles();
		
    for (File child : children) {
      Icon icon = FileSystemView.getFileSystemView().getSystemIcon(child);
      Image image = ((ImageIcon) icon).getImage();
      ImageIO.write((BufferedImage) image, "png", new File(outputDir + "thumbnail_" + child.getName() + ".png"));
    }
  }
}