首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

java 流式I/O

发布网友 发布时间:2022-04-23 20:05

我来回答

2个回答

热心网友 时间:2023-07-19 01:22

public class WordRate {

public static void main(String[] args) throws Exception {

BufferedReader infile = new BufferedReader(new FileReader("source.txt"));
String string;
String file = null;
while ((string = infile.readLine()) != null) {
file += string;
}

file = file.toLowerCase();// 所有字母小写化
file = file.replaceAll("[^A-Za-z]", " ");// 正则,匹配非英文字符为空格
file = file.replaceAll("\\s+", " "); // 正则,将1到多个空格匹配为一个空格

String words[];
words = file.split("\\s+");// 取出单词,并将单词存入数组中

Map<String, Integer> hashMap = new HashMap<String, Integer>();
for (int i = 0; i < words.length; i++) {
String key = words[i];
if (hashMap.get(key) != null) {
int value = ((Integer) hashMap.get(key)).intValue();
value++;
hashMap.put(key, new Integer(value));
} else {
hashMap.put(key, new Integer(1));
}
}

Map<String, Object> treeMap = new TreeMap<String, Object>(hashMap);
Set entrySet = treeMap.entrySet();

/*
* Iterator iterator = entrySet.iterator(); FileWriter out=new
* FileWriter("result.txt");
*
*
* //按照单词的字母次序输出。 while (iterator.hasNext()) {
* System.out.println(iterator.next()); }
*/
// ================================modify==========================

BufferedWriter bw = new BufferedWriter(new FileWriter("result.tx")); //实例化一个writer对象
for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) { // 循环迭代
String result = (String) iterator.next();
bw.write(result); // 调用writer的write方法将得到的result写入文件
bw.newLine(); // 另起一行
bw.flush(); // 清空缓存

}

}
}

ps:modify之后为写入文件的内容,每一步我加了注释。另外 楼主写的程序没有设置关闭输入输出流。希望你下来改进一下。

热心网友 时间:2023-07-19 01:22

引入apache的 org.apache.commons.io.IOUtils 这个工具类,在commons IO包中
FileOutputStream fos = new FileOutputStream("替换为文件完整路径");
IOUtils.write("文件的内容", fos, "UTF8");
fos.close();
文件的内容对于你的问题来说 就是所有的 iterator.next().toString();追问我在程序中添加
import org.apache.commons.io.IOUtils
编译后出现错误:程序包 org.apache.commons.io不存在

追答因为你没有这个包/lh -0 -
你可以用这个地址下载
http://mirror.bjtu.e.cn/apache//commons/io/binaries/commons-io-2.1-bin.zip
下载后把压缩包里的commons-io-2.1.jar 放到自己的项目中就可以了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com