黑马程序员技术交流社区
标题:
统计文本文件中字符次数,结果存入另一个文...
[打印本页]
作者:
ysheluo
时间:
2015-4-13 20:52
标题:
统计文本文件中字符次数,结果存入另一个文...
/*题目6:
* 6、 统计一个文本文件中字符出现的次数,结果存入另外的一个文本文件中。例如:
* a: 21 次
* b: 15 次
* c: 15 次
* 把: 7 次
* 当: 9 次
* 前: 3 次
* ,:30 次
* 思路:首先利用io技术读取文本,全部文本组成一个字符串,然后存放入字符数组中,将字符放入treeset中去,
* 然后数组中每一位去遍历数组,如果查到那么计数器count+1,接着将数据通过io技术存储到 另一个文本文档中去。
*/
public class Test6 {
public static void main(String[] args) throws Exception{
//第一步:读取并存到一个字符串中
BufferedReader buf=new BufferedReader(new FileReader("c:\\1.txt"));
String str="",line="";
while((line=buf.readLine())!=null){
str=(line+str).trim();
}
buf.close();//关闭流
//第二步利用正则表达式去除空字符并将字符串重新组装
String[] arr=str.split(" +");
String newstr="";
for(int i=0;i<arr.length;i++){
newstr=arr[i]+newstr;
}
//第三步放入到treeset集合中
TreeSet<String> tm=new TreeSet<String> ();
//开传
for(int i=0;i<newstr.length();i++){
tm.add(newstr.substring(i, i+1));
}
Iterator<String> it=tm.iterator();
String finalstr="";
while(it.hasNext()){
String str1=it.next().toString();
finalstr=finalstr+str1;
int count=0;
for(int j=0;j<newstr.length();j++){
if(newstr.substring(j, j+1).equals(str1)){
count++;
}
}
finalstr=finalstr+"("+count+")";
}
//利用io写入2.txt中
BufferedWriter bufw=new BufferedWriter(new FileWriter("c:\\2.txt"));
bufw.write(finalstr);
bufw.flush();//刷新流
bufw.close();//关闭流
}
}
复制代码
作者:
zztierlie
时间:
2016-8-14 16:37
赞一个,赞一个,赞一个,赞一个,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2