如何统计个文件中的字符个数
2009-12-02 18:39
302 查看
一个朋友问到了统计文件字符数的问题。就找了两个。
前面的是业务类后面的是执行类,希望高手能写一个简单的程序出来,有的地方可能能用到API,我没有用,希望有人写个简单一点的
[/code]
这是另外一个:
import java.io.*; public class Execute_char { final int MAX = 9999; int length = 0; public char[] char_arr = new char[MAX]; Execute_char() { for(int i = 0;i<MAX; i++) char_arr[i] = '*'; } int input_file(String s)//用来输入文件并返回字符的个数 { try { FileReader text = new FileReader(s); int inByte; int i=0; do { inByte = text.read(); if(inByte != -1) char_arr[i++] = ((char)inByte); } while(inByte != -1); text.close(); } catch(Exception e) {;} for(length=0;char_arr[length] != '*'; length++ ) { System.out.print(char_arr[length]); } return length; } int count_word(String s)//用来统计某个单词出现的个数 { char [] word_arr = s.toCharArray(); int word_num = 0;//用来统计单词出现的次数 for(int i=0; i<length; i++)//length是整个文本中字符的个数 { if(char_arr[i] == word_arr[0]) { int t = 0;//对所要查找字符的计数器初始化为"0" int m = i; for(int j = 0;j<word_arr.length; ) { if(word_arr[j++] == char_arr[m++]) { t++; } } if(t == word_arr.length ) word_num++; } } System.out.println(s+"出现的次数是:"+word_num); return word_num; } void replace (String a , String b)//用b来替换 { int b_length = b.length(); int a_length = a.length(); int x = b_length - a_length; char [] word_a_arr = a.toCharArray(); char [] word_b_arr = b.toCharArray(); for(int j=0; j<length; j++) { if(char_arr[j] == word_a_arr[0]) { int t = 0;//对所要查找字符的计数器初始化为"0" int m = j; for(int k = 0;k<word_a_arr.length; ) { if(word_a_arr[k++] == char_arr[m++]) { t++; } } if(t == a_length) { int jj = j; for(int mm = length ; mm>=jj+a_length; char_arr[mm+x] = char_arr[mm],mm--) {;} for(int i = 0;i<b_length;) { char_arr[j++] = word_b_arr[i++]; } } } } for(int i=0;char_arr[i]!='*';i++) System.out.print(char_arr[i]); System.out.println(); } void encrypt_to_file(String f) { System.out.println("加密后的文件已经输入到"+f+"中,请查看!"); for(int i = 0; i<length; i++) { char_arr[i] = (char)(char_arr[i] +3); try { FileWriter letters = new FileWriter(f); for(int j=0;j<length; j++) { letters.write(char_arr[j]); } letters.close(); } catch(Exception e){;} } } void out_put_file(String f) { try { FileWriter letters = new FileWriter(f); for(int i=0;i<length; i++) { letters.write(char_arr[i]); } letters.close(); } catch(Exception e){;} } } //************************************************************************* public class Txt_main //本程序用数组实现了这些功能,除基本输入输出外没有调用API { public static void main(String[] args) { String word = new String("Italy");//可以把Italy换成其他词也可以执行 Execute_char aaa = new Execute_char(); int file_len = aaa.input_file("input.txt");//这个文件要自己建一个,名字可以自己设定 System.out.println("文件中字符的个数是:"+file_len); aaa.count_word(word); aaa.replace("Italy","Germany");//前面是被替换的单词,后面是去替换的单词,可以任意设定 aaa.out_put_file("output.txt");//替换后输出的结果到这个文件,文件需要自己建。名字可以自己起,在本行中改动文件名字即可 aaa.encrypt_to_file("cryptograph.txt");//加密后输出到文件,文件需要自己建。名字可以自己起,在本行中改动文件名字即可 } }
前面的是业务类后面的是执行类,希望高手能写一个简单的程序出来,有的地方可能能用到API,我没有用,希望有人写个简单一点的
[/code]
这是另外一个:
import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; public class TestTongji { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("请输入一段字符:"); String str = input.nextLine(); Map<Character,Integer> oos = new TreeMap<Character,Integer>(); for(int i=0;i<str.length();i++){ char ch = str.charAt(i); if(!oos.containsKey(ch)) { oos.put(ch, 1); }else{ int auto =oos.get(ch)+1; oos.put(ch, auto); } } Iterator<Character> ois = oos.keySet().iterator(); while(ois.hasNext()){ char temp = ois.next(); System.out.println(temp+"="+oos.get(temp)); } } }
相关文章推荐
- 如何统计个文件中的字符个数
- 如何将信息资源文件(.properties)中的中文字符改为ISO-8859-1编码
- 通过C++中的正则表达式来统计文件中每个字符出现的次数
- 【转】如何编写Python脚本替换文件中的多行字符
- linux find下如何统计一个目录下的文件个数以及代码总行数的命令
- 网站上面的文件下载次数如何统计?
- 统计大文件中的中文字符、英文字符、数字及其他字符的数量
- C++ 读取文件并统计字符数、行数和单词数
- split命令:文件切割 & wc命令:统计行数 字数 字符数
- 如何将一个文件里不包含某个字符的行输出到另一个文件?
- 统计文件行数_单词数_字符数
- Linux查找大体积文件,及vim查找统计重复字符出现的次数
- mysql中如何统计某字段里某个字符的个数
- Julia: 如何读出csv文件中的中文字符?
- Java编程,从文件中读取一行字符串,统计数字,英文字符,其他的个数。
- Linux命令之统计文件行数、字数、字符数-wc
- 在Linux下如何删除包含特殊字符的文件
- 在EXCEL中如何统计字符长度?
- 如何删除含无效字符的文件
- 如何设置eclipse在新建了一个jsp文件之后将字符编码自动设为utf-8字符编码的?