gpt4 book ai didi

Java等待进程完成并将修改后的文件上传到数据库

转载 作者:行者123 更新时间:2023-12-02 03:13:26 24 4
gpt4 key购买 nike

我正在寻找一种使用 Java 打开 MS Word 应用程序的方法,并且在用户完成使用 MS Word 编辑打开的文档后,该过程必须将修改后的文件上传到数据库中。

我尝试使用 Process 命令和 waitFor 方法,但 Java 没有等待进程完成..

还有其他解决办法吗?或想法如何做到这一点?示例:

public static void main(String[] args) {
try {
int exitValue = 0;
//open MS WORD....
Process p = Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler winword "+filename);
//wait for a process to finish..
int i = p.waitFor();
//upload modified file to database
upload(...);
System.out.println(i);
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
} catch (InterruptedException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}

最佳答案

Swing 要求您的程序event dispatch thread 上构造和操作 Swing GUI 对象。 。当用户完成编辑时,执行SwingWorker它使用 ProcessBuilderdoInBackground() 实现中处理上传。 (可选)在 JTextArea 中显示上传过程的诊断输出。根据需要调用setProgress();监听的 JProgressBar 将相应地更新自身。将文件标记为保存在 done() 实现中。

相关示例可见here .

image

关于Java等待进程完成并将修改后的文件上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718295/

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