Java 作为线程而不是进程运行批处理文件

Java 作为线程而不是进程运行批处理文件,java,batch-file,process,resources,Java,Batch File,Process,Resources,我被困在一个我需要说。。。无限地,创建一个进程,即将给定的file.pdf转换为file.txt的批处理文件。我面临的问题是,,,为了对所有文件执行此操作,程序正在创建一个进程来运行批处理文件,等待它完成,创建另一个进程。。。等等,这是在消耗资源。我怎样才能节省我的资源 String[] arg = { "cmd", "/C", "bat.exe", "-layout", arg0, arg1}; try { ProcessBuilder bu

我被困在一个我需要说。。。无限地,创建一个进程,即将给定的file.pdf转换为file.txt的批处理文件。我面临的问题是,,,为了对所有文件执行此操作,程序正在创建一个进程来运行批处理文件,等待它完成,创建另一个进程。。。等等,这是在消耗资源。我怎样才能节省我的资源

String[] arg = { "cmd", "/C", "bat.exe", "-layout", arg0,
            arg1};
    try {


        ProcessBuilder builder = new ProcessBuilder(arg);
        builder.redirectErrorStream(true);
        Process p2 = builder.start();
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                p2.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        p2.waitFor();

    } catch (IOException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

其中arg0和arg1分别是我的pdf文件和目标文本文件

这样做是免费的。请查看中的“取消阻止您的执行”部分。

我想做的是。。。只创建一个进程,在运行时向其传递参数