我正在尝试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)
,
代码有效。我事先已经想好用\
'/'替换所有内容,但我不明白为什么它仍然调用相同的错误。