【问题标题】:i get cannot find symbol error in compile time我在编译时找不到符号错误
【发布时间】:2013-03-08 02:24:51
【问题描述】:
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()));

我得到找不到符号错误。

【问题讨论】:

标签: java


【解决方案1】:

简单的答案。

ProcessBuilder 没有getInputStream 方法。

看到这个:ProcessBuilder

你可以使用:

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

【讨论】:

    【解决方案2】:

    您试图从ProcessBuilder 获取InputStream,这是错误的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多