フォルダからアイコン画像を抽出しようとしてarraylist
いますが、NullPointerExceptionが発生し続けます。小さいバージョンはすでに抽出できますが、小さすぎます。私が取得しようとしているアイコンは、通常のサイズのアイコンです。filePaths
アイコンの場所のリストを保持します。エラーが指しているiconBIG.add(...)
場所です。NullPointerException
// Global
private ArrayList<Icon> iconBIG = new ArrayList<Icon>();
// Within extractIcon()...
for (String target : filePaths)
{
try
{
ShellFolder shell = ShellFolder.getShellFolder(new File(target));
iconBIG.add(new ImageIcon(shell.getIcon(true)));
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
編集:私はすでにShellFolderを使用するための完全な許可を持っています。
更新:それが言うところnew File(target)
(これはアプリケーションの完全なパスのみを保持します)、私が変更した場合
getShellFolder(new File(target)
に
getShellFolder(new File(C:/foo/bar.lnk)
、
コードは機能します。すべてを「/」に置き換えることはすでに考えていましたが\
、それでも同じエラーが発生する理由がわかりません。