如何使用Java将grep
的输出存储在文件中?
我正在使用Runtime和Process来执行grep,然后我读取了InputStream
BufferedReader stdInput = new BufferedReader(new InputStreamReader(pr.getInputStream()));
现在我想将grep的内容存储在一个文件中,但我得到一个空文件。
用
String s = null;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
我正确地看到了grep的输出。但是,当我尝试将其写入文件时,该文件为空。
PrintWriter writer = null;
writer = new PrintWriter("grep__output", "UTF-8");
writer.println(s);
writer.close();
另外,我尝试直接写入上面的文件(之前创建文件),但它是一样的。
答案 0 :(得分:1)
你需要让循环中的println读取。您可能只是将null写入文件。
PrintWriter writer = new PrintWriter("grep__output", "UTF-8");
String s = null;
while ((s = stdInput.readLine()) != null) {
writer.println(s);
}
writer.close();