/* Java基礎課題サンプル:ユーザ情報管理アプリ */ import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class UserInfo { // ファイル名の定義 static final String FILE_NAME = "user.txt"; public static void main(String[] args) { System.out.println("1.ユーザ新規登録"); System.out.println("1.登録ユーザ名一覧表示"); System.out.println("\t処理番号を入力しエンターキーを押してください。"); // 入力 Scanner scan = new Scanner(System.in); int selectNo = scan.nextInt(); // 処理分岐 if (selectNo == 1) { // レコード書き込みメソッド(自作)を呼び出し writeUserData(); } else if (selectNo == 2) { // レコード読み込みメソッド(自作)を呼び出し readAllUserNames(); } else { System.out.println("入力エラー:1または2を入力してください。"); } } // レコード書き込みメソッド private static void writeUserData() { System.out.println("<ユーザ情報登録画面>"); // 登録情報入力 Scanner scan = new Scanner(System.in); System.out.print("ユーザ名を入力:"); String userName = scan.next(); System.out.print("パスワードを入力:"); String password = scan.next(); String data = userName + "," + password + "\n";// 区切りにカンマを入れた try { FileWriter filewriter = new FileWriter(FILE_NAME, true); filewriter.write(data); filewriter.close(); System.out.println("登録が完了しました。"); } catch (IOException e) { System.err.println("書き込み時エラーが発生しました。"); } }// writeUserData() // レコード読み込みメソッド private static void readAllUserNames() { // ファイル内の全ユーザ名を改行表示する try { FileReader filereader = new FileReader(FILE_NAME); BufferedReader bufferedReader = new BufferedReader(filereader); System.out.println("<ユーザ名一覧>"); String record; while ((record = bufferedReader.readLine()) != null) { // ユーザ名,パスワードを分割 String[] data = record.split(","); if (data != null) { System.out.println(data[0]);// ユーザ名のみ表示 }else{ System.out.println("登録はありません。"); } } bufferedReader.close(); } catch (FileNotFoundException e) { System.err.println("指定ファイルが存在しません。"); } catch (IOException e) { System.err.println("読み込み時エラーが発生しました。"); } }// readAllUserNames() }