我需要一份完整的 UNC 路径上所有文件的列表。使用方法列出的文件非常慢java.io.File.listFiles()
。我的应用程序在尝试使用将文件图标FileSystemView.getSystemIcon
渲染为JTable
. 当我在方法下评论特定代码时,run
它不会卡住。如何摆脱这个问题?
import java.io.File;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.filechooser.FileSystemView;
/**
*
* @author admin
*/
public class MySwingWorker implements Runnable {
private JLabel label;
private String strFile;
private Icon icon;
public MySwingWorker(String strFile, JLabel label) {
this.strFile = strFile;
this.label = label;
}
@Override
public void run() {
File f = new File(strFile);
try {
FileSystemView fw = FileSystemView.getFileSystemView();
if (f.exists() == true) {
icon = fw.getSystemIcon(f);
} else {
File fTemp = new File(System.getProperty("pro.temp.home"), "Temp");
if (fTemp.exists() == false) {
try {
fTemp.mkdirs();
} catch (Exception ex) {
//ignored
}
}
//Replaced "Temp" with fTemp
File fNewFile = new File(fTemp, f.getName());
if (fNewFile.createNewFile()) {
icon = fw.getSystemIcon(fNewFile);
}
}
} catch (Exception e) {
}
label.setIcon(icon);
}
}