Java - 没有这样的文件或目录

时间:2013-11-11 01:25:14

标签: java macos

我一直在努力让这个程序运行一个位于/Library/Application Support/Adobe/Adobe PCD/cache/Main.class.

的类文件

然而,每次运行下面的方法时,都找不到指定的文件。我认为eclipse正在项目文件夹中查找上面的文件路径。但第一个命令似乎不起作用。谁能帮我?还有另一种运行类文件的方法吗?

static Runtime r = Runtime.getRuntime();

public static void Run() {

      try {
       Runtime rt = Runtime.getRuntime();
       String run = "/Library/Application Support/Adobe/Adobe PCD/cache/";    
       String[] command = {"java -cp " + run, "java Main"};
       Process pr = rt.exec(command);

       BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

       String line=null;

       while((line=input.readLine()) != null) {
           System.out.println(line);
       }

       int exitVal = pr.waitFor();
       System.out.println("Exited with error code "+exitVal);

   } catch(Exception e) {
       System.out.println(e.toString());
       e.printStackTrace();
   }
}

1 个答案:

答案 0 :(得分:1)

这会尝试使用参数java -cp /Library/Application Support/Adobe/Adobe PCD/cache/运行神秘程序java Mainjava Main也是一个类的非法名称。相反,请将命令数组设为:

String[] command = {"java", "-cp", run, "Main"};

但是,除非您在默认包中有Main类,只需将run目录添加到应用程序的类路径,然后调用 Main.main() ,可能用标准输入和输出玩游戏。无需启动第二个JVM。或者,找出Main的作用,并调用它调用的类。是否有Adobe代码的Javadoc?

当Ant任务<zip>运行时,Ant不会启动新VM或命令行zip实用程序。相反,任务的类调用java.util.zip中的方法。你应该做类似的事情。