加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – p.waitfor()永远等待

发布时间:2020-12-15 08:47:15 所属栏目:Java 来源:网络整理
导读:我试图使用 java程序运行命令,但p.waitfor()函数永远等待.代码有什么问题? import java.io.*;public class doscmd{ public static void main(String args[]) throws InterruptedException { try { Process p=Runtime.getRuntime().exec("cmd /c dir"); p.wa
我试图使用 java程序运行命令,但p.waitfor()函数永远等待.代码有什么问题?

import java.io.*;

public class doscmd
{
  public static void main(String args[]) throws InterruptedException
  {
    try
    {
      Process p=Runtime.getRuntime().exec("cmd /c dir");
      p.waitFor();
      BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream()));
      String line=reader.readLine();
      while(line!=null)
      {
        System.out.println(line);
        line=reader.readLine();
      }
    } 
    catch(IOException e1) {}


    System.out.println("Done");
  }
}

解决方法

目录大吗?也许p填满了它的输出缓冲区并停止等待读者消费一些东西,所以它可以完成写出目录列表.

你可能应该搬家

p.waitFor();

到方法的最后.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读