実現したいこと
javaで
CSVファイルに保存されている社員情報を削除するシステムを作っています。
入力した社員番号の情報のみを削除したいのですが
今のソースコードですと全ての情報が削除されてしまうという問題が発生しました。
該当のソースコード
java
1import java.io.*; 2import java.util.*; 3public class syainsakujo{ 4 public static void main(String[] args){ 5 try{ 6 File csv = new File("syain2.csv"); 7 InputStreamReader isr = new InputStreamReader(System.in); 8 BufferedReader brr = new BufferedReader(isr); 9 BufferedReader br = new BufferedReader(new FileReader(csv)); 10 BufferedWriter bw = new BufferedWriter(new FileWriter(csv, true)); 11 PrintWriter bww = new PrintWriter(new BufferedWriter(new FileWriter("syain2.csv"))); 12 int bango[] = new int[1]; 13 int a = 0; 14 System.out.println(); 15 System.out.println("----------"); 16 System.out.println("社員削除"); 17 System.out.println("----------"); 18 System.out.println(); 19 System.out.println("社員情報を削除します"); 20 System.out.println(); 21 System.out.println("削除する社員番号を入力してください"); 22 System.out.print("-->"); 23 bango[a] = Integer.parseInt(brr.readLine()); 24 String line = ""; 25 String str = null; 26 while((line = br.readLine()) != null) 27 { 28 StringTokenizer st = new StringTokenizer(line,","); 29 String bango2 = st.nextToken(); 30 int bango3 = Integer.parseInt(bango2); 31 if(bango[a] == bango3){ 32 bww.println(line); 33 } 34 } 35 br.close(); 36 bw.close(); 37 System.out.println("社員番号「" + bango[a] + "」の社員情報を削除しました"); 38 System.out.println(); 39 System.out.println("社員番号 社員名"); 40 System.out.println("----- ------"); 41 while((line = br.readLine()) != null) 42 { 43 StringTokenizer st = new StringTokenizer(line,","); 44 while(st.hasMoreTokens()) 45 { 46 System.out.print(st.nextToken() + " "); 47 System.out.print(""); 48 } 49 System.out.println(); 50 } 51 br.close(); 52 }catch(Exception e){ 53 System.out.println(e); 54 } 55 } 56 }
こうなってほしいという結果
現時点でCSVファイルの内容が、
100001,さんま
100002,浜田
100003,松本
100004,今田
100005,岡村
100006,矢部
100007,東野
で、
例えば100002の情報を削除したいとして、
削除する社員番号を入力するときに、
100002を入力して結果(CSVを更新)が
100001,さんま
100003,松本
100004,今田
100005,岡村
100006,矢部
100007,東野
になるようにしたいです。
ご回答お願い致します。
回答2件
あなたの回答
tips
プレビュー