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()相同的结果。
}
}
}