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

Java 如何将windows命令输出写入文件?,java,io,Java,Io,您好,我正在制作一个程序,其中我执行windows命令并将其保存到文件中,但我不知道如何将长数据写入文件中..我确实编写了文件,但只包含最后一行。请帮助 Process p=Runtime.getRuntime().exec("cmd /c ipconfig"); p.waitFor(); BufferedReader reader=new BufferedReader( new InputStreamReader(p.getInputStream())

您好,我正在制作一个程序,其中我执行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(); 
    } 

如果您只想将输出放入一个文件中,那么您也可以在命令行中为其添加命令。如果您想从代码中读取并解析它,您需要一个更干净的解决方案。

如果您确实需要对结果执行其他操作,您可以执行以下操作:

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) {}
}

你有什么问题。你的代码在控制台中很好。问题解决了。我只想把它写在一个文件中。
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) {}
}