2013-03-28 34 views
0

這是我的嘗試:如何從Java打開文件? (它是一個.bat文件是具體的)

import java.awt.Desktop; 

public class File { 
    static java.io.File myFile = new java.io.File("C:/Users/me/Desktop/file.bat"); 
    public void hello(){ 
     Desktop.open(myFile); 
    } 
} 

我不斷收到錯誤:

Cant make a static reference to a non static method.

+3

open()方法不是靜態的。你需要在'Desktop'的實例上調用它。另外,根據與'.bat'文件關聯的應用程序,您可能不會運行該文件,只能在文本編輯器中打開它。 –

回答

4

執行以下操作

public void hello() { 
    if (Desktop.isDesktopSupported()) { 
     Desktop desktop = Desktop.getDesktop(); 
     desktop.open(myFile); 
    } 
} 

由於方法open()不是靜態的,因此您不能在Desktop(如Desktop.open())上靜態調用它。你必須在一個實例上調用它,你可以使用Desktop.getDesktop()這是靜態的。

open(File)方法本身將啓動與文件擴展名關聯的應用程序,它可能不會像運行.bat那樣運行該文件。

相關問題