使用流读入字符,正确输出读入的字符. /** *//** * $Id:$ * * Copyright 2005 easou, Inc. All Rights Reserved. */package say;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.IOException;import java.io.FileInputStream;import java.io.FileWriter;import java.io.StringReader;import java.io.StringWriter;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayInputStream;/** *//** * * @author sai * */public class TestFile ...{ public static void main(String[] args) ...{ TestFile tt = new TestFile(); tt.testStreamBuffer(); tt.testCharBuffer(); } /** *//** * 读stream,不适合读双字节字符 * */ public void testStreamBuffer() ...{ BufferedOutputStream bo = new BufferedOutputStream(System.out); try ...{ byte[] str = (new String("abcdefghijklmn")).getBytes(); ByteArrayInputStream ba = new ByteArrayInputStream(str); // 可以读String BufferedInputStream br = new BufferedInputStream(ba); // 也可以读文件 // BufferedInputStream br=new BufferedInputStream(new // FileInputStream("d:/hello.txt")); byte[] by = new byte[10]; int num = 0; while ((num = br.read(by)) != -1) ...{ System.out.write(by, 0, num); System.out.println(); } bo.close(); } catch (Exception io) ...{ io.printStackTrace(); } } /** *//** * 读字符,中文 * */ public void testCharBuffer() ...{ try ...{ BufferedReader br = new BufferedReader(new StringReader( "myNnameIs小白sai ")); char[] by = new char[10]; int num = 0; // StringWriter sw=new StringWriter(); // 这里不知道怎么用StringWriter.输出到文件吧 FileWriter sw = new FileWriter("d:/hello.txt"); BufferedWriter bo = new BufferedWriter(sw); while ((num = br.read(by)) != -1) ...{ bo.write(by, 0, num); bo.write(" "); bo.flush(); } sw.close(); } catch (Exception io) ...{ io.printStackTrace(); } }}