文件 I/O缓冲流

来源:互联网 发布:js生成随机数 编辑:程序博客网 时间:2024/05/22 23:46
import java.io.File;import java.io.Writer;import java.util.StringTokenizer;import java.io.Reader;import java.io.FileWriter;import java.io.IOException;import java.io.FileReader;import java.io.BufferedReader;import java.io.BufferedWriter;public class test_main {public static void main(String[] args) {// TODO 自动生成的方法存根File fRead = new File("english.txt");File fWrite = new File("englishCount.txt");try {fRead.createNewFile();Writer out = new FileWriter(fWrite);BufferedWriter bufferWrite = new BufferedWriter(out);/*BufferedWriter将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串地高效写入。创建使用默认大小的输出缓冲区地缓冲字符输出流。*/Reader in = new FileReader(fRead);BufferedReader bufferRead = new BufferedReader(in);/*BufferedReader从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。可以指定缓冲区大小,或者使用默认大小。*/String str = null;while((str=bufferRead.readLine())!=null) {/*readLine读取一行文字。一行被视为由换行符('\n'),回车符('\r')中的任意一个,紧跟换行符的回车符或到达文件末尾终止(EOF)。*/StringTokenizer fenxi = new StringTokenizer(str);int count = fenxi.countTokens();str +=" 句子中单词个数:"+count;bufferWrite.write(str);//写入一个字符串bufferWrite.newLine();//写入一行行分隔符。}bufferWrite.close();out.close();in = new FileReader(fWrite);bufferRead = new BufferedReader(in);String s = null;System.out.println(fWrite.getName()+"内存");while((s = bufferRead.readLine())!=null){System.out.println(s);}bufferRead.close();in.close();}catch(IOException e) {System.out.println(e.toString());//toString()是Throwable的方法//返回对象类的name:调用该对象的结果//创建此可抛出的本地化描述。 子类可以覆盖此方法,//以生成特定于区域的消息。 对于不覆盖此方法的子类,//默认实现将返回与getMessage()相同的结果。 }}}

原创粉丝点击