在pdf上设置一个计时器,并在计时器用完Java

时间:2015-11-28 23:12:23

标签: java multithreading pdf timer

我想在java中实现一个定时pdf。基本上打开一个pdf,让它打开我想要的任何秒数,然后在时间用完后自动关闭。我尝试在一个线程上运行并让线程进入睡眠状态似乎没有帮助。我被困住了,我似乎无法在网上找到任何可以帮助我的东西。

package testing;
import java.awt.Desktop;
import java.io.File;


/**
 *
 * @author xxx
 */
public class PrimeThread implements Runnable {

    String name;
    int time;


    public PrimeThread(String x)
    {
    name = x;
    time = 30000;
    }
    @Override
    public void run() {
     try{
     System.out.printf("%s os sleeping for %d\n", name, time);
     try{    
         File fi = new File("C:\\Users\\xxx\\Downloads\\CBP Form 3078.pdf");
         Desktop.getDesktop().open(fi);



     }
     catch(Exception ex){

     }
     Thread.sleep(time);
     System.out.printf("%s is done\n", name);
     }
     catch(Exception e){

   }
}

1 个答案:

答案 0 :(得分:3)

只要您Desktop.getDesktop().open(fi);,就会在计算机的默认PDF查看器中打开该文件。那时你不再能控制正在发生的事情,这是一个完全独立的过程。

您需要找出刚刚创建的过程并向其发送一个终止信号或使用在您的应用程序中运行的java PDF查看器,以便您可以控制它。