如何将windows命令输出写入文件?

时间:2013-11-16 18:12:45

标签: java io

您好我正在制作一个程序,我执行Windows命令并将其保存到文件中,但我很困惑如何将长数据写入文件..我确实编写了文件,但只包含最后一行。请帮助。

   Process p=Runtime.getRuntime().exec("cmd /c ipconfig"); 
    p.waitFor(); 
    BufferedReader reader=new BufferedReader(
   new InputStreamReader(p.getInputStream())
    ); 
    String line=reader.readLine();

    while(line!=null) 
    { 
       System.out.println(line); 
       line=reader.readLine(); 
    } 

2 个答案:

答案 0 :(得分:1)

如果你确实需要对结果做其他事情,你可以这样做:

Process p = Runtime.getRuntime().exec("cmd /c ipconfig"); 
p.waitFor(); 
BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); 

BufferedWriter writer = null;
try {
    File file = new File(filename);
    writer = new BufferedWriter(new FileWriter(file));

    String line;
    while((line=reader.readLine()) != null) { 
        writer.write(line);
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    try {
        writer.close();
    } catch (Exception e) {}
}

答案 1 :(得分:0)

Process p=Runtime.getRuntime().exec("cmd /c ipconfig > filename.txt");

如果您只想将输出输出到文件中,您也可以在命令行中添加命令。如果您想从代码中读取并解析它,则需要更清晰的解决方案。