如何通过Java代码执行记事本

时间:2009-12-09 09:14:59

标签: java

我想通过Java代码在MS Windows中打开记事本程序来打开我的文本文件。

请帮助我这样做。

4 个答案:

答案 0 :(得分:10)

如果使用Java 1.6,可以使用java.awt.Desktop.txt已注册到记事本并且支持Desktop:

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

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

答案 1 :(得分:3)

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

其中c:/asd.txt是文本文件的完整路径。如果/不适合您,请改用\\

答案 2 :(得分:3)

使用ProcessBuilder类

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

答案 3 :(得分:3)

如果您在操作系统上注册了.txt扩展名并且您的文本文件已经存在,那么您甚至可以做到

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

优点是它会使用与.txt相关的程序,这可能与notepad.exe不同。