gpt4 book ai didi

java - 为什么我不能从 Exception block 中重新执行 Java 程序?

转载 作者:行者123 更新时间:2023-12-02 04:30:44 24 4
gpt4 key购买 nike

我正在尝试运行以下 Java 代码,当我通过 Windows 命令行上的 CTRL + C 杀死它时,该代码应该会自动重新启动:

import java.net.*;
import java.io.*;

public class LineRunner extends Thread {

public static void main(String[] args) throws InterruptedException, IOException{

try {

for (int i = 0; i<10000000; i++) {
Thread.sleep(200);
System.out.print("hithe");
}
}
catch( InterruptedException ioex) {

String[] command = {"C://Program Files//Java//jdk1.7.0_02//bin//java.exe", "LineRunner"};
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process exec = pb.start();

BufferedReader br = new BufferedReader(new InputStreamReader(exec.getInputStream()));
String text = null;
while ((text = br.readLine()) != null) {
System.out.println(text);
}

System.out.println("Process exited with " + exec.waitFor());

}
}
}

但是当我从命令行杀死(通过 CTRL + C )时,它不会按照我的意愿重新启动程序。

任何提示表示赞赏,谢谢

最佳答案

您需要使用addShutdownhook监听程序退出,您可以在那里重新启动您的程序。

关于java - 为什么我不能从 Exception block 中重新执行 Java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497655/

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