javaでファイル操作し検索するものを作ってます
目的はテキストファイル内の文字列に検索をかけヒットしたものを表示する というものです
import java.io.*;
class kensakuTest{
public static void main(String[] args)throws IOException{
System.out.println("検索方法を選択してください。\n0:学籍番号で検索\n1:名前で検索\n2:出身地で検索");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
char res = str.charAt(0);
//0が選択された場合
if(res == '0'){
System.out.println("学籍番号を入力してください。");
BufferedReader bn =
new BufferedReader(new InputStreamReader(System.in));
String str0 = fn.readLine();
char num = str0.charAt(0);
try{
FileReader freader = new FileReader("addressdata.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
while((tmp=breader.readLine())!=null){
//完全一致
if(){
System.out.println("検索結果:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
//1が選択された場合
if(res == '1'){
System.out.println("名前を入力してください。");
BufferedReader fn =
new BufferedReader(new InputStreamReader(System.in));
String str1 = fn.readLine();
char name = str1.charAt(0);
try{
FileReader freader = new FileReader("data.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
//検索
//部分一致
while((tmp=breader.readLine())!=null){
if(tmp.indexOf(str1) > -1){
System.out.println("結果は:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
//2が入力された場合
if(res == '2'){
System.out.println("出身地を入力してください。");
BufferedReader bl =
new BufferedReader(new InputStreamReader(System.in));
String belong = bl.readLine();
try{
FileReader freader = new FileReader("addressdata.txt");
BufferedReader breader = new BufferedReader(freader);
String tmp = null;
while((tmp=breader.readLine())!=null){
//完全一致
if(){
System.out.println("検索結果:");
System.out.println(tmp);
}
}
breader.close();
}catch(IOException e){
System.out.println("e");
}
}
}
}
現状はここまでできましたが完全一致の検索のやり方がわかりません。
あと問題点があるのですが 読み取るファイルがこのような場合
2000,田中 太郎,福島県
2001,福島 太郎,東京都
名前で福島 と検索をかけたとします この場合答えが
2000,田中 太郎,福島県
2001,福島 太郎,東京都
と表示されてしまいます このカンマで区切られている学籍番号、名前、出身地をうまく分け
それぞれ判別する方法はないのでしょうか?
よろしくおねがいします。
お礼
ありがとうございました。 初歩的なことですみませんでした。 0(ゼロ)とO(オ-)の違いって気がつきませんでした。