2017-04-15 37 views
0

在stackoverflow中搜索了很多內容之後,我所能找到的只是選擇僅具有靜態值的文件。使用java Runtime類選擇動態值的文件

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()");        
     }    
    }   
    } 
}  

當我運行上面的代碼時,由於代碼的最後一行,我將指向文檔而不是我輸入的路徑。我很樂意在這方面得到一些幫助。

回答

1

getAbsolutePath()不能在.exec方法中執行,因爲您打算這麼做。 exec在windows shell環境中執行,也就是cmd,所以Java方法在那裏不會被識別。

如果您要附加到您的命令路徑,嘗試了這種方式:

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

都能跟得上它不工作的。 –