日常开发中,需要在内存中缓存读取到的所有字符串,然后一次性全部使用。可以使用StringBuffer或StringBuilder来存储,这里我们来使用StringWriter类来实现,然后通过toString方法一次性输出字符串。
实例:使用java调用DOS命令ipconfig来获取当前机器的IP信息,然后获取InputStream对象,将获取到的IP信息统一输出到StringWriter对象中,最后使用toString方法一次性输出。
package io.writer; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.StringWriter; public class StringWriterTest { public static void main(String[] args) { StringWriter writer = null; BufferedReader reader = null; try { writer = new StringWriter(1024 * 1024); // 命令 String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" }; Process process = Runtime.getRuntime().exec(cmd); // 获取执行cmd命令后的信息 reader = new BufferedReader( new InputStreamReader(process.getInputStream()) ); String line = ""; while ( (line = reader.readLine()) != null ) { writer.write(line + "\n"); } // 一次性将信息输出来 System.out.println( writer.toString() ); } catch(Exception e) { e.printStackTrace(); } } }