linux中的进程执行问题

时间:2011-08-18 02:46:28

标签: java linux

我想通过...

在记事本中打开一个文件(使用JAVA)

proc.exec(“notepad”+ curDir +“\ auto_saved.txt”);

其中...

 String curDir = System.getProperty("user.home");
 curDir=curDir+"/txt-files";                
 Runtime proc = Runtime.getRuntime();

这在WIN7中正常工作,但是说'home .......... \ auto_saved.txt'找不到PATH。在LINUX中。 但是如果我将文件保存到(curDir +“\ _ \ aut_saved.txt”); ..它会创建一个文件并将其保存在LINUX中。

那么,如何在/ home / user / some-folder /...??

中打开文件

2 个答案:

答案 0 :(得分:2)

您希望\中的"\auto_saved.txt"是目录分隔符,但在Linux中它不是,它只是一个普通字符,可以是文件名的一部分。请改用File.pathSeparatorjava.io.File中的静态字段);它将在Linux / Unix上为/,在Windows上为\

答案 1 :(得分:0)

  1. Linux中没有记事本编辑器。许多Linux发行版在/ usr / bin / nano中都有一个名为“nano”的文本编辑器; Ubuntu / Debian将文本编辑器放在/ etc / alternatives / editor中;您还可以检查env {EDITOR},它有时包含文本编辑器的用户设置路径名,并覆盖您选择的编辑器(如果存在)以允许用户自定义。
  2. 您可能希望在调用exec时使用可执行文件的完整路径,以防它不在路径上。