我前几天去面试,面试官问了我这样一个问题:有一个十万行的文本文件,让我找到“java”这个字符串是在文本文件的第几行? 请教各位了。
那个代码写的冲忙,没注意细节。
[code="java"]
public static void main(String[] args) throws IOException {
//a.txt就是你的十万条数据的文本
File file=new File("d://a.txt");
FileReader reader=new FileReader(file);
BufferedReader br=new BufferedReader(reader);
String s="";
int line=0;
while((s=br.readLine())!=null){
line++;
//有可能java在第一位,判断改了下
if(s.indexOf("java")>=0){
System.out.println("java在文件的第"+line+"行");
//吧break去掉,只要有java的行都打印出来
//break;
}
}
}
[/code]
给你一个直接的代码吧:
[code="java"]
public static void main(String[] args) throws IOException {
File file=new File("d://a.txt");
FileReader reader=new FileReader(file);
BufferedReader br=new BufferedReader(reader);
String s="";
int line=0;
while((s=br.readLine())!=null){
line++;
if(s.indexOf("java")>0){
System.out.println("java在文件的第"+line+"行");
break;
}
}
}
[/code]
10万条很少啦,你在你的程序里试下很快的