【发布时间】:2013-09-28 18:33:37
【问题描述】:
我需要打开一个包含指定文件的文件夹,并突出显示该文件。我一直在寻找这个,但我一直很不幸。有人能解释一下如何使用 java 来完成吗?
将不胜感激。我可以打开文件、文件夹,但不能打开包含文件夹并突出显示文件。跨平台代码将是一个加号,或者只是指向我的方向!谢谢!
@更新:
基本上我正在做一个图像分类器。我有一个包含文件名的ArrayList,例如myarraylist.get(0) 会返回funny_cat.jpg
在处理文件/文件夹的程序中,这可能是一个方便的功能。使用以下命令实际打开包含文件夹很容易:
我希望用户能够在JList 中打开当前选定的项目并打开包含选定目标文件的文件夹。
我会发布代码,但是对于这个问题来说它太长并且最不需要,但是我将在下面发布我如何打开资源管理器窗口,对于程序的设置部分,以便选择要使用的新目录:
public void browseFolder(){
System.out.println("browsing!");
final JFileChooser fc = new JFileChooser();
File dir = new File(core.Loader.path);
fc.setCurrentDirectory(dir);
// Windows and Mac OSX compatibility code
if (System.getProperty("os.name").startsWith("Mac OS X")) {
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
} else {
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
}
fc.setApproveButtonText("Choose directory");
int returnVal = fc.showOpenDialog(fc);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
// if the user accidently click a file, then select the parent directory.
if (!f.isDirectory()) {
f = f.getParentFile();
}
// debug
System.out.println("Selected directory for import " + f);
}
}
@更新
我已经找到解决方案,将在下面发布答案。
【问题讨论】:
-
高亮是什么意思?你有某种用户界面吗?
-
请很多澄清您的问题。请出示您当前的相关代码。
-
@SotiriosDelimanolis 我的意思是当您右键单击任何文件并单击“打开包含文件夹”时会发生什么;它会在文件夹和文件的路径中打开一个 explorer.exe 或 finder.app 窗口,您点击的那个文件会突出显示。
-
对不起,不清楚的帖子,澄清了它,后来我找到了答案。想把它作为答案发布,谢谢!
-
@ChristianFeo 呃……
JFileChooser.setSelectedFile()是做什么的?似乎它应该完成这项工作。