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()));
我找不到符号错误。
答案 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()));