我正在構建一個程序,我需要用Os的默認文本閱讀器打開一個簡單的.txt文件。我知道你可以這樣做:從類路徑(Jar內部)的外部程序打開文件
Desktop desktop = Desktop.getDesktop();
desktop = open(new File("filename"));
但是,這將打開一個文件從系統的文件路徑而不是類路徑。由於我的程序必須分發並傳遞,因此幫助文件需要保留在.jar文件中。
我試着用getClass().getResource("/resources/Help.txt")
像這樣實現它:
Desktop desktop = Desktop.getDesktop();
desktop = open(new File(getClass().getResource("/resources/Help.txt")));
但是,這是行不通的。我甚至嘗試過:
Desktop desktop = Desktop.getDesktop();
desktop = open(new File(getClass().getResourceAsStream("/resources/Help.txt")));
但是這也行不通。
Help.txt文件已經在類路徑中,我只需要弄清楚如何使用外部程序打開這個文件,但是從類路徑中。這可能嗎?如果是,如何?如果沒有,是否有其他方法來實現呢?
*「我只需要弄清楚如何使用外部程序打開此文件」*爲什麼'外部'?如果它只是一個文本文件,我會使用'JTextArea'來顯示它。 –
@AndrewThompson我會這樣做,但這意味着我需要完全創建一個新的JPanel和一個新窗口。這是一個幫助按鈕,我寧願讓它在外部應用程序中打開。 –
*「但這意味着我需要完全創建一個新的JPanel和一個新窗口。」*哇!它只需要幾行代碼。少於將資源首先提取到文件所需的時間。但是使用非模態'JDialog'而不是'JWindow'或'JFrame' .. –