代码实现:
package com.jn.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
public class StringTimes {
public static int getKeyStringCount(String str, String key) {
int count = 0;
int index = 0;
while((index = str.indexOf(key,index))!=-1){
index = index + key.length();
count++;
}
return count;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("D:/设计模式.txt");
FileInputStream fis = null;
try{
fis = new FileInputStream(file);
int len = 0;
byte[] buf = new byte[1024];
String str = null;
while((len = fis.read(buf)) !=-1){
str = new String(buf, 0, len,"GBK");
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要查询字符串:");
String key = sc.nextLine();
int count = getKeyStringCount(str,key);
System.out.println("文件中此字符串出现次数为:"+count+"次");
}catch(FileNotFoundException e){
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
运行及结果:
请输入你要查询字符串:
设计模式
文件中此字符串出现次数为:10次