java - 使用 java Runtime 类为动态值选择文件

标签 java

在 stackoverflow 中进行大量搜索后,我所能找到的只是选择仅具有静态值的文件。

public void findFile(String name,File file1)throws IOException
{      
    File[] list = file1.listFiles();       
    if(list!=null)  
    {                          
    for(File file2 : list)
    {            
        if (file2.isDirectory())
        {
            findFile(name,file2);             
        }
        else if (name.equalsIgnoreCase(file2.getName()))
        {                                                              
            String p1 = ""+file2.getParentFile();
            File f2 = new File(p1);
            Runtime.getRuntime().exec("explorer.exe /select, getAbsolutePath()");                            
        }             
    }        
  }
}    

当我运行上面的代码时,由于代码的最后一行,我被定向到文档而不是我输入的路径。我很想在这方面获得一些帮助。

最佳答案

getAbsolutePath() 无法按照您的意图在 .exec 方法中执行。 exec 在 Windows shell 环境(又名 cmd)中执行,因此 Java 方法不会被识别。

如果您想在命令中附加路径,请尝试以下方式:

Runtime.getRuntime().exec("explorer.exe /select " +f2.getAbsolutePath());    

关于java - 使用 java Runtime 类为动态值选择文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429790/

相关文章:

java - java中的实时视频流

java - 如何在java中检索字符串的一部分?

java - 父类(super class)变量如何保存仅存在于子类中的数据成员值?

java - Spring Boot 和 Hibernate 5 的类加载错误

java - Groovy 控制台不输出旧值

java - 如何识别图像中的符号

java - 在不使用 XPath 或 CssPath 的情况下捕获 WebElement 的任何方法

java - 如何在ActionListener中调用另一个Java文件?

java - Windows 手机 : automatically copy files on reboot

java - 如何设置 JDI 启动连接器?