用Runtime.getRuntime.exec("cmd /c dir > 1.txt") 然后从1.txt中readline就可以进行分析处理了。
用process.getInputStream应该没问题吧~ 我用这段代码可以正常输出查询结果阿,如果你的程序是输出到错误终端的话则process.getErrorStream() Process process = Runtime.getRuntime().exec("cmd /c dir c:"); // process.waitFor(); BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = null; while ( ( line = in.readLine() ) != null ) { System.out.println("Line : " + line); }
我用("cmd /c dir > 1.txt")/readline()是实际中用过的,没有任何问题。相要的话给信箱给你一段程序。 ——记得给我加分呀。
用法相似,这个程序,还通常到别的东西。 把InputStream pi = p.getErrorStream(); 改成InputStream pi = p.getInputStream();就可以了。public class RuntimeCompile{ public static void main(String[] args){
Runtime r = Runtime.getRuntime(); Process p = null; String jtoc="javac"+" "+"F:\\my_bag\\vj_file\\RuntimeCompileTest.java"; try{ p = r.exec(jtoc); // jtoc ="javac"+" "+某源文件名+".java" //这里其实就是编译一个源文件 InputStream pi = p.getErrorStream(); BufferedReader obr = new BufferedReader(new InputStreamReader(pi)); String str=""; StringBuffer text=new StringBuffer (); while((str=obr.readLine ())!=null) text.append (str+'\n'); System.out.println (text.toString ()); } catch(Exception e) {} System.out.println ("\n compile has finished"); try{ System.in.read (); } catch(Exception e) {} } }
public class ExecLs { static public void main(String[] args) { String cmd="cmd /c dir c:"; try { Process ps = Runtime.getRuntime().exec(cmd); System.out.print(loadStream(ps.getInputStream())); System.err.print(loadStream(ps.getErrorStream())); } catch(IOException ioe) { ioe.printStackTrace(); } } // read an input-stream into a String static String loadStream(InputStream in) throws IOException { int ptr = 0; in = new BufferedInputStream(in); StringBuffer buffer = new StringBuffer(); while( (ptr = in.read()) != -1 ) { buffer.append((char)ptr); } return buffer.toString(); }}
然后从1.txt中readline就可以进行分析处理了。
我用这段代码可以正常输出查询结果阿,如果你的程序是输出到错误终端的话则process.getErrorStream()
Process process = Runtime.getRuntime().exec("cmd /c dir c:");
// process.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ( ( line = in.readLine() ) != null )
{
System.out.println("Line : " + line);
}
——记得给我加分呀。
把InputStream pi = p.getErrorStream();
改成InputStream pi = p.getInputStream();就可以了。public class RuntimeCompile{ public static void main(String[] args){
Runtime r = Runtime.getRuntime();
Process p = null;
String jtoc="javac"+" "+"F:\\my_bag\\vj_file\\RuntimeCompileTest.java"; try{
p = r.exec(jtoc); // jtoc ="javac"+" "+某源文件名+".java"
//这里其实就是编译一个源文件
InputStream pi = p.getErrorStream();
BufferedReader obr = new BufferedReader(new InputStreamReader(pi));
String str="";
StringBuffer text=new StringBuffer ();
while((str=obr.readLine ())!=null)
text.append (str+'\n');
System.out.println (text.toString ());
}
catch(Exception e) {}
System.out.println ("\n compile has finished");
try{
System.in.read ();
}
catch(Exception e) {}
}
}
String cmd="cmd /c dir c:"; try {
Process ps = Runtime.getRuntime().exec(cmd);
System.out.print(loadStream(ps.getInputStream()));
System.err.print(loadStream(ps.getErrorStream()));
} catch(IOException ioe) {
ioe.printStackTrace();
}
} // read an input-stream into a String
static String loadStream(InputStream in) throws IOException {
int ptr = 0;
in = new BufferedInputStream(in);
StringBuffer buffer = new StringBuffer();
while( (ptr = in.read()) != -1 ) {
buffer.append((char)ptr);
}
return buffer.toString();
}}