Javaで、指定されたファイルのアイコンを png 形式の画像ファイルへ抽出するサンプルプログラムを紹介します。指定するファイルは 拡張子 exe 等の実行ファイルや、dll、xls、doc 等何でも抽出できます。
同様の方法をインターネットで色々と調べたのですが、見あたりませんでした。
ですが実に簡単に取得出来る方法を発見しましたので紹介します。
尚、Chat&Messengerではこの方法を、付箋にファイルを添付する機能で利用しています。
サンプルを実行
※ jar ファイルが関連づいている場合、実行できます。
- サンプルソースを取得し、コンパイルして実行してください。
- 起動するとメインウィンドウが開きますので、抽出したいアイコンをそのままウィンドウへドラッグ&ドロップしてください。
- 元のアインコンと同じ場所へ、png 形式の画像ファイルが出力されます。
Javaでアイコンを抽出する処理を、以下の方法で実現してます。
-
Look & Feel を Windows に設定します。
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
-
ドラッグ&ドロップで取得したファイルを javax.swing.JFileChooser.getIcon() メソッドで javax.swing.Icon オブジェクトに変換します。
-
javax.imageio.ImageIO.write() メソッドで Icon オブジェクトを png 形式の画像ファイルへ出力します。