【发布时间】:2015-03-28 10:54:08
【问题描述】:
这是我的代码。
ProcessBuilder process = new
ProcessBuilder(MyPath);
Process prp1 = process.start();
final JFrame frmScanner;
frmScanner = new JFrame();
frmScanner.setTitle("Updater");
frmScanner.setResizable(false);
frmScanner.setBounds(100, 100, 370, 300);
frmScanner.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label1.setBounds(100,50,200,50);
final JButton startButton = new JButton("Start!!!");
startButton.setBounds(50, 140, 100, 50);
JPanel p1 = new JPanel(null);
p1.setBackground(new Color(255,255,255));
p1.add(startButton);
p1.add(stopButton);
frmScanner.add(p1);
frmScanner.setVisible(true);
我的流程任务是从项目的硬件中收集数据到文本文件。
我测试过,发现文本文件只能收集1KB的数据,然后进程挂起,因为frmScanner.setVisible(true); .
如果我手动运行该进程,该进程可以收集超过 1KB 的数据。 我该如何解决这个问题?
【问题讨论】:
-
没有什么我可以评论的。你说这个过程将数据收集到一个文件中,也许是通过重定向?您的代码片段显然不会干扰启动的过程。我会以流程构建器调用您的子流程的方式进行搜索以查找问题。
-
另请参阅When Runtime.exec() won't,了解有关正确创建和处理流程的许多好技巧。然后忽略它引用
exec并(继续)使用ProcessBuilder来创建进程。
标签: java swing processbuilder