为了账号安全,请及时绑定邮箱和手机立即绑定

如何编写记录一个文档中某个字数出现的次数

如何编写记录一个文档中某个字数出现的次数

正在回答

5 回答

        public static void main(String[] args) {
		print("d:/test.txt","b");
	}
	
	
	public static void print(String fileName,String str){
		try {
			FileInputStream inputStream = new FileInputStream(fileName);
			InputStreamReader reader = new InputStreamReader(inputStream);
			StringBuffer sb = new StringBuffer();
			while(reader.ready()){
				sb.append((char)reader.read());
			}
			int count = 0;
			int fromIndex =0;
			while(true){
				fromIndex=sb.indexOf(str, fromIndex);
				if(fromIndex!=-1){
					fromIndex++;
					count++;
				}else{
					break;
				}
			}
			System.out.println(sb.toString());
			System.out.println(count);
			reader.close();
			inputStream.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


1 回复 有任何疑惑可以回复我~
#1

小豪呵呵 提问者

大神,你好。希望能加上注释,我有些看不太懂,非常感谢!
2015-12-04 回复 有任何疑惑可以回复我~
#2

小豪呵呵 提问者

非常感谢!
2015-12-04 回复 有任何疑惑可以回复我~
/*
	 * 读取一个文档里的一个字符出现的次数
	 */
	public static void print(String fileName,String str){
		try {
			// 构建FileInputStream对象
			FileInputStream inputStream = new FileInputStream(fileName);
			// 构建InputStreamReader对象,可以指定编码格式
			InputStreamReader reader = new InputStreamReader(inputStream);
			StringBuffer sb = new StringBuffer();
			while(reader.ready()){
				sb.append((char)reader.read());// 转成char加到StringBuffer对象中
			}
			int count = 0;//出现的次数
			int fromIndex =0;//indexOf中查询参数
			while(true){
				fromIndex=sb.indexOf(str, fromIndex);//返回该字符在文档中出现的位置,int
				if(fromIndex!=-1){
					//找到了该字符,查询的索引+1,出现的次数+1
					fromIndex++;
					count++;
				}else{
					break;
				}
			}
			System.out.println(sb.toString());
			System.out.println(count);
			reader.close();// 关闭读取流
			inputStream.close();// 关闭输入流,释放系统资源
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


1 回复 有任何疑惑可以回复我~

 System.out.println(new CharCounter().counter("LOVELOVEYOU",'O'));//这一行是什么意思?

0 回复 有任何疑惑可以回复我~

public class CharCounter{
public static int counter(String s,char c){
 int count=0;
 for(int i=0;i<s.length();i++){
  if(s.charAt(i)==c){
   count++;
  }
 }
 return count;
}
public static void main(String args[]){
 System.out.println(new CharCounter().counter("LOVELOVEYOU",'O'));
}
}

0 回复 有任何疑惑可以回复我~
#1

小豪呵呵 提问者

System.out.println(new CharCounter().counter("LOVELOVEYOU",'O'));//这一行是什么意思?
2015-12-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何编写记录一个文档中某个字数出现的次数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信