Java练习-字符串搜索功能实现
这个是去年抽空学习java的时候写的一段程序,功能就是从指定的文本文件中搜索指定的字符串,返回搜索到的每一行和所在位置,最后输出找到次数。
代码如下:
import java.io.*; public class search { public static void main(String[] args) throws IOException { FileReader fr = null; BufferedReader br = null; int i = -1; //列号 int li = -1; //字符串在行的最后位置 int line= 1; //行号 String s = ""; //搜索字符串 String linec = ""; //当前行内容 int times=0; //搜索到的次数 if (args.length < 1) { System.out.println("Please put the filepath to read!"); System.exit(0); } if (args.length < 2) { System.out.println("Please put the char to search!"); System.exit(0); } fr = new FileReader(args[0]); br = new BufferedReader(fr); s = args[1]; while((linec = br.readLine()) != null) { li=linec.lastIndexOf(s); for(i=-1;i<=li;i=linec.indexOf(s,i+1)) { if(i>-1) { System.out.println("line:"+line+" char:"+i); System.out.println(" "+linec); times++; } if(i==li) { break; } } line++; } if(times<1) { System.out.println("No such string found!"+line); } else { System.out.println("The String \"" + s + "\" was found " + times + " times"); } br.close(); fr.close(); } }测试方法(windows下,需安装java环境):
//1.将代码保存在一个文本文件里,并保存为search.java //2.到命令行,找到文件所在目录 //3.输入 javac search.java //,等待编译完成 //4.随便找一个测试用文本文件,放入同级目录(方便测试),假设为test.txt //5.输入 java search test.txt 我的 //"我的"为要查找的字符串 //6.程序返回查找结果另外,本程序没有在编码上做兼容,仅仅是一个简单的测试。