import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
public class io_1 {
public static int size=0;//记录"中国"出现的次数
public static void main(String[] args) {
String str=JOptionPane.showInputDialog("输入文本路径");
File src=new File(str);
InputStream is=null;
try {
is=new FileInputStream(src);
int len;
byte[] data=new byte[1024];
while((len=is.read(data))!=-1) {
String s=new String(data,0,len); //读入文本内容
int m=s.indexOf("中国", 0); //文本中第一次出现中国的索引位置;
while(m!=-1) {
m=s.indexOf("中国",m+1);
//System.out.println(m);
size++;
}
JOptionPane.showMessageDialog(null, "出现了"+size+"次中国");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(is!=null) {
is.close();
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
虽然结果是对的,但
String s=new String(data,0,len); //读入文本内容
int m=s.indexOf("中国", 0); //文本中第一次出现中国的索引位置;
while(m!=-1) {
m=s.indexOf("中国",m+1);
//System.out.println(m);
size++;
这里总感觉有问题,打印“中国”的索引位置时有错误
上面是文本内容
上面是打印的索引位置,明显错误
若有大佬看到,请指点一下