public class PrintMap {
/*
* 输入一串以空格分隔的字符串,调用自定义方法,将每个字符及其个数以键值对方式写入指定文件
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串(以空格分隔):");
print(sc.next());
}
/*
* 定义方法,用高效流,将字符串中的内容以键值对的形式写到自定义目录的count.txt文件中
*/
public static void print(String str1) {
String[] str = str1.split(" ");
HashMap<String, Integer> map = new HashMap<String, Integer>();
BufferedWriter bfw = null;
for(int i = 0; i < str.length; i++) {
if(map.containsKey(str[i])) {
map.put(str[i], map.get(str[i]) + 1);
}else {
map.put(str[i], 1);
}
}
try {
bfw = new BufferedWriter(new FileWriter("e:\\demo1\\count.txt"));
Set<String> set = map.keySet();
Iterator<String> keyIt = set.iterator();
while(keyIt.hasNext()) {
String key = keyIt.next();
Integer value = map.get(key);
String pro = key + "=" + value;
bfw.write(pro);
bfw.newLine();
bfw.flush();
}
}catch(IOException ex) {
System.out.println(ex);
throw new RuntimeException("写入文件失败");
}finally {
try {
if(bfw != null)
bfw.close();
}catch(IOException ex) {
throw new RuntimeException("释放资源失败");
}
}
}
}
输入字符串(以空格分隔),将字符串中的单词以键值对方式输出到指定文件
最新推荐文章于 2023-06-11 22:57:53 发布