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.程序返回查找结果
另外,本程序没有在编码上做兼容,仅仅是一个简单的测试。