2009-12-09 40 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(); 
    } 

这种方式可以更独立于操作系统的方式打开/编辑文件。