StringReader类用来将字符串转换成字符输入流。然后使用字符输入流提供的方式进行操作,也可以提供给其他高级字符输入流来使用。如可以将该字符输入流提供给BufferedReader输入流使用。
StringWriter:在内存中缓存读取到的所有字符串,然后使用通过toString方法一次性全部输出字符串。
package com.louisgeek.appupdatetool;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.StringWriter;
/**
* Created by louisgeek on 2016/8/23.
*/
public class StringXXXTest {
public static void main(String[] args) throws Exception{
// testReader();
testWriter();
}
private static void testReader() throws Exception{
String str = "hello world!!!";
// 将字符串转换成字符输入流
StringReader reader = new StringReader(str);
// 读取字符输入流中的数据
char[] buffer = new char[1024];
int len = 0;
while ( (len = reader.read(buffer)) != -1 ) {
System.out.println( new String(buffer, 0, len) );
}
}
private static void testWriter() throws Exception{
File file=new File("d:"+File.separator+"text.txt");
StringWriter writer = new StringWriter(1024 * 1024);
// 获取执行cmd命令后的信息
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream(file)) );
String line;
while ( (line = reader.readLine()) != null ) {
writer.write(line + "\n");
}
// 一次性将信息输出来
System.out.println("一次性:"+writer.toString() );
}
}