gpt4 book ai didi

java - 如何运行类java使用runtime.exec()?

转载 作者:行者123 更新时间:2023-12-01 13:15:41 25 4
gpt4 key购买 nike

我必须通过另一个程序java使用runtime.exec()运行一个类java。
文件夹中的类与我的程序不同,所以我无法运行它。
我使用了(java -cp“ directory”类),但是我的类具有导入文件,因此无法filenotfound?
谁能帮我?

流程pro = Runtime.getRuntime()。exec(“ java -cp \” E:\ DA_Laptrinhmang \“ NguyenTo”);

这是程序:

import java.io.*;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class TestCodeJava {
private static void printLines(String name, InputStream ins) throws Exception {
String line = null;
BufferedReader in = new BufferedReader( new InputStreamReader(ins));
while ((line = in.readLine()) != null) {
System.out.println(name + " " + line);
}
}
private static void runProcess(String command) throws Exception {
Process pro = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(pro.getInputStream()));
pro.waitFor();
String line = "";
while((line = reader.readLine())!=null)
{
System.out.println(line);
}
}
private static int toCompile(String fileToCompile)
{
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int compilationResult = compiler.run(null, null, null, "-verbose", fileToCompile);
return compilationResult;
}
public static void main(String[] args) {
try {
if(toCompile("E:\\Folder\\Prime.java")==0)
{
runProcess("java -cp \"E:\\Folder\" Prime");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

import java.io.*;
public class Prime {
private static boolean isPrime(int n)
{
if(n <= 1) return false;
if(n == 2 || n == 3) return true;
int m = (int) Math.sqrt(n);
for(int i = 5; i <= m; i = i + 5)
if(n % i == 0 || n % (i+2) == 0) return false;
return true;
}
public static void main(String args[]) throws FileNotFoundException, IOException
{
File file = new File("INPUT.TXT");
FileInputStream fis = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
int n = Integer.parseInt(reader.readLine());
File file2 = new File("OUTPUT.TXT");
FileOutputStream fos = new FileOutputStream(file2);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos));
if(isPrime(n))
{
writer.write("YES");
}else writer.write("NO");
writer.flush();
writer.close();
}
}


这是错误:
[解析启动的RegularFileObject [E:\ DA_Laptrinhmang \ NguyenTo.java]]
[解析完成42ms]
[源文件的搜索路径:C:\ Users \ QUANG HUY \ Documents \ NetBeansProjects \ ChamDiemJava \ build \ classes,C:\ Users \ QUANG HUY \ Documents \ NetBeansProjects \ ChamDiemJava \ src]
[类文件的搜索路径:C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ resources.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ rt.jar,C:\程序文件\ Java \ jdk1.7.0 \ jre \ lib \ sunrsasign.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ jsse.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ jce.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ charsets.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ classes,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ dnsns.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ localedata.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ sunec.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ sunjce_provider.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ sunmscapi .jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ sunpkcs11.jar,C:\ Program Files \ Java \ jdk1.7.0 \ jre \ lib \ ext \ zipfs.jar,C:\ Users \ QUANG HUY \ Documents \ NetBeansProjects \ ChamDiemJava \ build \ classes,C:\ Users \ QUANG HUY \ Documents \ NetBeansProjects \ ChamDiemJava \ src]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Object.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / String.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / FileNotFoundException.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / IOException.class)]]
[检查NguyenTo]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / AutoCloseable.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Math.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Exception.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Throwable.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / File.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / net / URI.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / FileInputStream.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / FileDescriptor.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / BufferedReader.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / InputStreamReader.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / InputStream.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / Reader.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Integer.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Number.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / FileOutputStream.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / BufferedWriter.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / OutputStreamWriter.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / OutputStream.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / io / Writer.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / Error.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / RuntimeException.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / NumberFormatException.class)]]
[加载ZipFileIndexFileObject [C:\ Program Files \ Java \ jdk1.7.0 \ lib \ ct.sym(META-INF / sym / rt.jar / java / lang / IllegalArgumentException.class)]]
[编写RegularFileObject [E:\ DA_Laptrinhmang \ NguyenTo.class]]
[总441毫秒]
建立成功(总时间:2秒)

最佳答案

这对我有用

package mypackage;

import java.io.IOException;

public class RunSomeJava {

public static void main(String[] args) throws IOException {
Process pro = Runtime.getRuntime().exec("java -cp E:\\workspaceIndigo2\\StackOverflow\\bin mypackage.SomeOtherProgram");
}

}




package mypackage;

import java.io.File;
import java.io.IOException;

public class SomeOtherProgram {

public static void main(String[] args) throws IOException {
File f = new File(System.currentTimeMillis()+".txt");
f.createNewFile();
}

}

关于java - 如何运行类java使用runtime.exec()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22495151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com