-1
import java.io.File;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.io.*;
 import java.io.InputStream;
 class pbdemo {

     static public void main(String[] args) throws Exception {
         String s;
         try {
             ProcessBuilder pb = new ProcessBuilder("cmd", "/f", "dir");
             pb.directory(new File("F:\\WINDOWS"));
             pb.start();
             BufferedReader br = new BufferedReader(new InputStreamReader(pb.getInputStream()));

             while ((s = br.readLine()) != null)
             System.out.println(s);

         } catch (Exception e) {
             System.out.println("sorry" + e);
         }
     }
 }

有什么问题

BufferedReader br=new BufferedReader(new InputStreamReader(pb.getInputStream()));

我得到找不到符号错误。

4

2 回答 2

0

你试图InputStream从 a中得到一个ProcessBuilder,这是错误的。

ProcessBuilder.start()返回一个 Process 对象,这就是拥有getInputStream()方法的对象。

试着把那条线换成这条线。

BufferedReader br=new BufferedReader(new InputStreamReader(pb.start().getInputStream()));

或者

Process pro = pb.start();
BufferedReader br=new BufferedReader(new InputStreamReader(pro.getInputStream()));
于 2013-03-08T02:30:52.593 回答
0

简单的回答。

ProcessBuilder没有getInputStream方法。

看到这个:ProcessBuilder

您可以使用:

BufferedReader br=new BufferedReader(new InputStreamReader(pb.start().getInputStream()));
于 2013-03-08T02:31:40.913 回答