Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 必须使用线程睡眠过程来更新文档_Java_Multithreading - Fatal编程技术网

Java 必须使用线程睡眠过程来更新文档

Java 必须使用线程睡眠过程来更新文档,java,multithreading,Java,Multithreading,我有一个Word宏需要使用Java运行。所以我用一个VB脚本来 按如下方式运行宏。它在Word文档中进行一些编辑,我使用 将“test.doc”读取为InputStream。但我得睡大觉 线程执行一段时间,以获取“test.doc”文件中的文档更改(不同 从一个文档到另一个文档的线程睡眠时间所需的时间)。作为 显示在代码中。我有点困惑,因为我在等待过程结束。 文件还没有更新吗? 有人能帮我吗 Process proc=Runtime.getRuntime().exec(“cmd/c start

我有一个Word宏需要使用Java运行。所以我用一个VB脚本来 按如下方式运行宏。它在Word文档中进行一些编辑,我使用 将“test.doc”读取为
InputStream
。但我得睡大觉 线程执行一段时间,以获取“test.doc”文件中的文档更改(不同 从一个文档到另一个文档的线程睡眠时间所需的时间)。作为 显示在代码中。我有点困惑,因为我在等待过程结束。 文件还没有更新吗? 有人能帮我吗

Process proc=Runtime.getRuntime().exec(“cmd/c start c:\\test.vbs”);
进程waitFor();
Thread.currentThread().sleep(2000);
InputStream uploadedFileStream=新的BufferedInputStream(新的FileInputStream(“c:\\test.doc”);

以上内容将在后台生成
test.vbs
的应用程序。所以不幸的是,它根本不会等待消息


我要么直接生成Word,要么记录
test.doc
的修改时间,并观察更改(通过每隔几秒钟睡眠和检查)。顺便说一句,后者不是一个特别好的方法。

去掉“开始”,这样创建的Word实例就不会在后台运行,而现在不需要睡眠。

直接生成Word有什么好处?你有java代码吗?@rana123
上面的代码将在后台生成test.vbs应用程序。不幸的是,它根本不会等待Word的发布。