User Code: ReaderFile
This program searches for a word in a file and prints all lines where the word is found. I use the program to search IP-addresses or MAC-addresses in log files on Windows NT and UNIX (Solaris 8).
In line StringTokenizer st = new StringTokenizer(s,",");
I use delemiter ",". If your logs fields are divided by blanks, then use
" ".
ReaderFile.java
---------------------
//
// Mike Rakushin
// michail_rakushin@hotmail.com
// 11/05/2001
// This programm works under Windows NT and UNIX (Solaris 8).
//
import java.util.StringTokenizer;
import java.io.*;
class ReaderFile {
public ReaderFile(String file1,String ip1) {
try {
FileReader fr = new FileReader(file1);
BufferedReader br = new BufferedReader(fr);
String s;
//Read line and break it on tokens. Each token will compare with search
word.
while((s = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(s,",");
while (st.hasMoreTokens()) {
String token=st.nextToken();
if(token.equals(ip1)) {
//Print line if find search word
System.out.println(s);
}
}
}
System.out.println("Finished ");
fr.close();
}
catch(IOException ioe) {
System.out.println(ioe.getMessage());
}
}
public static void main(String args[]) {
String file;
String ip;
try
{
//Get file name
System.out.println("Input file name:");
BufferedReader br1 = new BufferedReader(new InputStreamReader
(System.in));
file = br1.readLine();
//Get search word
System.out.println("Input search word:");
BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
ip = br.readLine();
ReaderFile reader=new ReaderFile(file,ip);
}
catch(Exception ex)
{
System.out.println("IOException");
}
}
}
