2009-12-09 36 views

回答

3
Runtime.getRuntime().exec("notepad c:/asd.txt"); 

其中c:/asd.txt是您的文本文件的完整路徑。如果/不適用於您,請改爲使用\\

3

使用的ProcessBuilder類

Process p = new ProcessBuilder("notepad", "file.txt").start(); 
3

如果您已經註冊您的操作系統.txt擴展名和文本文件已經存在,那麼你可以做,甚至

Runtime.getRuntime().exec(new String[]{"cmd.exe","/c","text.txt"}); 

的優點是它會與.txt相關的程序,與notepad.exe有什麼不同。

+0

使用'java.awt.Desktop.open'可能是更好的方法。 – 2009-12-09 10:05:17

10

可以使用java.awt.Desktop如果使用Java 1.6,.txt註冊到記事本,並支持桌面:

if (!Desktop.isDesktopSupported()) { 
     System.err.println("Desktop not supported"); 
     // use alternative (Runtime.exec) 
     return; 
    } 

    Desktop desktop = Desktop.getDesktop(); 
    if (!desktop.isSupported(Desktop.Action.EDIT)) { 
     System.err.println("EDIT not supported"); 
     // use alternative (Runtime.exec) 
     return; 
    } 

    try { 
     desktop.edit(new File("test.txt")); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } 

這種方式可以更獨立於操作系統的方式打開/編輯文件。