我在编译时找不到符号错误

时间:2013-03-08 02:24:51

标签: java

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()));

我找不到符号错误。

2 个答案:

答案 0 :(得分:0)

您正试图从InputStream获取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()));

答案 1 :(得分:0)

简单回答。

ProcessBuilder没有getInputStream方法。

请参阅:ProcessBuilder

您可以使用:

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