Java 尝试在文本文件中存储详细信息时,RESTAPI不会返回响应
嗨,我正在创建一个RESTAPI,它返回可执行文件的详细信息作为响应。 我的要求是,如果我发送启动可执行文件的请求,响应应该是 显示已启动的可执行文件的详细信息。在我的代码中,我给出了一个路径,其中可执行文件的详细信息也存储在.txt文件中。但是,如果我在代码中给出了.txt文件的路径来存储详细信息,RESTAPI不会返回任何响应。如果我删除了.txt文件的路径,响应将如预期的那样给出。任何关于哪里出错的想法。下面是代码片段。在.txt文件中保存详细信息的代码为Java 尝试在文本文件中存储详细信息时,RESTAPI不会返回响应,java,rest,Java,Rest,嗨,我正在创建一个RESTAPI,它返回可执行文件的详细信息作为响应。 我的要求是,如果我发送启动可执行文件的请求,响应应该是 显示已启动的可执行文件的详细信息。在我的代码中,我给出了一个路径,其中可执行文件的详细信息也存储在.txt文件中。但是,如果我在代码中给出了.txt文件的路径来存储详细信息,RESTAPI不会返回任何响应。如果我删除了.txt文件的路径,响应将如预期的那样给出。任何关于哪里出错的想法。下面是代码片段。在.txt文件中保存详细信息的代码为 **
*****d[+] C:\\Debug\\logfile.txt*****
Java代码:
public String startServer() throws IOException, InterruptedException{
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\\test.exe -d[+] C:\\Debug\\logfile.txt");
BufferedReader input = new BufferedReader(new InputStreamReader
(pr.getInputStream()));
String line=null;
StringBuffer start= new StringBuffer();
while((line=input.readLine()) != null) {
start.append(line + "\n");
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code "+exitVal);
return start.toString();
}
}
网络服务:
@Path("/server")
public class LicenseServer {
@GET
@Path("start")
@Produces({"text/plain","application/xml","application/json"})
//@Consumes({ "application/xml", "application/json", "application/x-www-form-
urlencoded" })
public String getServer() throws IOException, InterruptedException{
StartServer start = new StartServer();
return start.startServer();
}
这与休息无关。试着让
startServer
工作。@Tichodroma:谢谢你的快速回复。如果我从进程pr=rt.exec(“C:\\test.exe-d[+]C:\\Debug\\logfile.txt”)中删除-d[+]C:\\Debug\\logfile.txt,startServer就会工作;所以,让它在这条道路上运行。这是关于Runtime.exec
如何解释其参数的问题。@Tichodroma:它确实适用于此路径,当我从指定路径打开.txt文件时,可以看到其中的详细信息。问题是响应页面确实显示了响应,或者没有在页面上显示任何内容。您可能希望对该exec字符串使用正确的引号。否则-d[+]
前面的空格将导致问题。