java - 打开包含文件的文件夹并突出显示它

标签 java file io

我需要打开一个包含指定文件的文件夹,并突出显示该文件。我一直在寻找这个,但我很不幸。有人可以解释一下如何使用 java 来完成此操作吗?

将不胜感激。我可以打开文件、文件夹,但无法打开包含的文件夹并突出显示文件。跨平台代码将是一个优点,或者只是为我指明方向!谢谢!

@更新:

基本上我正在做一个图像分类器。我有一个包含文件名的 ArrayList,例如myarraylist.get(0) 将返回unny_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);

            }
}

@更新

我已经找到了解决方案,将在下面作为答案发布。

最佳答案

所以,我只是从执行的操作中调用了这个方法,它就成功了。

基本上,解决方案是使用此终端命令:

open -R absolute/path/to/file.jpg

这仅适用于 Mac OS X,以下是我使用的方法:

 public void openFileInFolder(String filename){

    try {
       Process ls_proc;

       String mvnClean = "open -R " + core.Loader.path + "/" + file_chosen;
       String OS = System.getProperty("os.name");

       System.out.println("OS is: " + OS);

       if (OS.contains("Windows")) {
           //code ...
       } else {
           ls_proc = Runtime.getRuntime().exec(mvnClean);
       }

     } catch (Exception e){
          System.err.println("exception");
     }
}

关于java - 打开包含文件的文件夹并突出显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070335/

相关文章:

java - try/catch 的风格要点

java - 如何在java中解析BluetoothGattCharacteristic值

java - 在 Java DIY 中克隆对象及其内部数组

c++ - C++ 中的文件 Glob

c - 猜单词 : I/O C logic error

java - Android:如何在开关中使用 res/integers.xml 值?

linux - golang直接从 block 读取

php - php中从二级路径获取所有zip文件

c++ - 从单独的线程访问单独的文件,这是否有效?

java - 为什么我的宇宙飞船没有出现?