一道 程序题!! 用java实现在一个文本文件中查找指定的字符串, 如命令 java Search "good" data.txt 则实现在data.txt中查找"good" 如果找到就返回所在行数和该行内容, 若不止一行则打印出所有这样的行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.*;public class test{ public static void main(String args[]) { char ch; int chi; int ox; File MyFile1=new File("c:\\temp",args[1]+".txt"); String sub=args[0]; StringBuffer sb=new StringBuffer(); try { FileInputStream fin=new FileInputStream(MyFile1); while((chi=fin.read())!=-1) { //System.out.print((char)chi); sb.append((char)chi); } fin.close(); System.out.println(sb); } catch(FileNotFoundException e){System.err.println(e);} catch(IOException e){System.err.println(e);} String s=sb.toString(); for(int i=0;i<s.length();) { ox=s.indexOf(sub,i); System.out.println(s.substring(ox,ox+3)); i=ox+3; } }} public static void find(String content, String file){ BufferedReader readFile; File f = new File(file); if(!f.exists()){ System.out.println(file + " not exist!"); return; } try { readFile = new BufferedReader( new FileReader(file)); String line; try { line = readFile.readLine(); while(line != null) { if(line.indexOf(content) >= 0) System.out.println(line); line = readFile.readLine(); } } catch (IOException e1) { e1.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String args[]) { find("good", "data.txt"); } public static void main(String args[]) { find(args[0], agrs[1]); } 加入行号: public static void find(String content, String file){ BufferedReader readFile; File f = new File(file); if(!f.exists()){ System.out.println(file + " not exist!"); return; } try { readFile = new BufferedReader( new FileReader(file)); String line; try { int lineNum = 0; line = readFile.readLine(); while(line != null) { lineNum++; if(line.indexOf(content) >= 0) System.out.println("Line " + lineNum + ": " + line); line = readFile.readLine(); } } catch (IOException e1) { e1.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String args[]) {// find("good", "data.txt"); find(args[0], args[1]); } 截取字符串 问个java初级问题 这个算法如何用java实现? 紧急求助:请问如何解决JAVA socket通信时的connettion reset问题 集合如何转化为Sting[] ??? 请问关于jcreator pro的工程编译出错的问题 谁知道这段 5行 程序的结果和原因,就来拿分吧 求助:要怎样调用一个用VB写的DLL? 请问Jbuild有中文版的吗? *.jar格式的文件如何查看它所包含的内容? JTable问题 JB的进来看一看.急,在线等,谢谢!
{
public static void main(String args[])
{
char ch;
int chi;
int ox;
File MyFile1=new File("c:\\temp",args[1]+".txt");
String sub=args[0];
StringBuffer sb=new StringBuffer();
try
{
FileInputStream fin=new FileInputStream(MyFile1);
while((chi=fin.read())!=-1)
{
//System.out.print((char)chi);
sb.append((char)chi);
}
fin.close();
System.out.println(sb);
}
catch(FileNotFoundException e){System.err.println(e);}
catch(IOException e){System.err.println(e);}
String s=sb.toString();
for(int i=0;i<s.length();)
{
ox=s.indexOf(sub,i);
System.out.println(s.substring(ox,ox+3));
i=ox+3;
}
}
}
BufferedReader readFile;
File f = new File(file);
if(!f.exists()){
System.out.println(file + " not exist!");
return;
}
try {
readFile = new BufferedReader(
new FileReader(file));
String line;
try {
line = readFile.readLine();
while(line != null) {
if(line.indexOf(content) >= 0)
System.out.println(line);
line = readFile.readLine();
}
} catch (IOException e1) {
e1.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String args[])
{
find("good", "data.txt");
}
{
find(args[0], agrs[1]);
}
public static void find(String content, String file){
BufferedReader readFile;
File f = new File(file);
if(!f.exists()){
System.out.println(file + " not exist!");
return;
}
try {
readFile = new BufferedReader(
new FileReader(file));
String line;
try {
int lineNum = 0;
line = readFile.readLine();
while(line != null) {
lineNum++;
if(line.indexOf(content) >= 0)
System.out.println("Line " + lineNum + ": " + line);
line = readFile.readLine();
}
} catch (IOException e1) {
e1.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String args[])
{
// find("good", "data.txt");
find(args[0], args[1]);
}