黑马程序员技术交流社区
标题:
文件中字符出现的次数
[打印本页]
作者:
嘿~~
时间:
2014-10-16 15:41
标题:
文件中字符出现的次数
import java.util.*;
import java.io.*;
class GetCount
{
public static void main(String[] args) throws Exception
{
File file = new File("c:\\java\\tempfile\\count.txt");
FileReader fr = new FileReader(file);
File confile = new File("c:\\java\\tempfile\\properties.ini");
if(!confile.exists())
confile.createNewFile();
FileWriter fw = new FileWriter(confile);
//定义集合容器,可以将集合元素排序
List list = new ArrayList();
int cuf = 0;
while((cuf=fr.read())!=-1){
//跳过空格
if(cuf=='\r' || cuf=='\n')
continue;
//将读取到的字符作为对象添加进集合中
list.add((char)cuf);
}
//对集合元素排序,便于操作
Collections.sort(list);
int size = list.size();
PrintWriter pw = new PrintWriter(fw);
//定义临时变量存储角标
int temp = 0;
//定义角标
int pos = 0;
//定义计数器
int count = 0;
while(pos != size-1){
//某一个元素在集合中最后一次出现的角标
pos = list.lastIndexOf(list.get(temp));
//该元素出现的次数
count = pos - temp+1;
//改变第二次查询的起始位置
temp = pos+1;
char ch = (char)list.get(pos);
pw.println(ch+" : "+count+" 次");
}
fr.close();
fw.close();
pw.close();
}
}
文件
avrhsgj公共rhgrheh反话呢dhh24323
fn/[]';;w.//',.更稳固和2397273jtbsdb】‘iasgaga【【】qtwsaga/.,';'qwqt
ahgqh/'[;[]=-00++++1他23他weg248…………@#……()¥……@……!%%¥#J%^Kqtsdghw
、、。,,《》?“::PU请
广告hwehh
打印结果
: 1 次
# : 2 次
% : 3 次
' : 5 次
+ : 4 次
, : 2 次
- : 1 次
. : 3 次
/ : 5 次
0 : 2 次
1 : 1 次
2 : 6 次
3 : 5 次
4 : 2 次
7 : 2 次
8 : 1 次
9 : 1 次
; : 4 次
= : 1 次
@ : 2 次
J : 1 次
K : 1 次
P : 1 次
U : 1 次
[ : 3 次
] : 2 次
^ : 1 次
a : 7 次
b : 2 次
d : 3 次
e : 3 次
f : 1 次
g : 8 次
h : 12 次
i : 1 次
j : 2 次
n : 1 次
q : 5 次
r : 3 次
s : 5 次
t : 4 次
v : 1 次
w : 6 次
‘ : 1 次
“ : 1 次
… : 10 次
、 : 2 次
。 : 1 次
《 : 1 次
》 : 1 次
【 : 2 次
】 : 2 次
他 : 2 次
公 : 1 次
共 : 1 次
反 : 1 次
告 : 1 次
呢 : 1 次
和 : 1 次
固 : 1 次
广 : 1 次
更 : 1 次
稳 : 1 次
话 : 1 次
请 : 1 次
! : 1 次
( : 1 次
) : 1 次
, : 2 次
: : 2 次
? : 1 次
¥ : 2 次
复制代码
/*
6、 统计一个文本文件中字符出现的次数,结果存入另外的一个文本文件中。
例如: a: 21 次 b: 15 c:: 15 把: 7 当: 9 次 前: 3 次 ,:30 次
*/
作者:
嘿~~
时间:
2014-10-16 15:46
为什么我的技术帖子版主视而不见啊:'(:'(:'(
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2