【Java】ファイル内の文字列を読み込み、取得してみるよ

前回ユーザIDとパスワードをファイルに保管するメソッドを作成しましたね!
⇓ 前回記事

今回はそのファイルからユーザIDとパスワードを取り込むメソッドを作成してみました

こんな感じのファイルからユーザIDとパスワードを良いこみます

【test.txt】

メソッドはこちらです!

/**
 *ファイルからユーザ情報を読み込むメソッド
 *
 */
public StringBuilder userInfoOutputFile() {
    // 返却変数を宣言
    // 今回は「ユーザID」と「パスワード」をStringBuilderに詰めます(笑)
	StringBuilder stringBuilder = new StringBuilder();

	  // ① ストリーム宣言
	FileInputStream inputStream = null;
	InputStreamReader streamReader = null;
	BufferedReader bufferedReader = null;

	try {
      // ② 入力ストリームを開く
		inputStream = new FileInputStream("C://work/test.txt");
		streamReader = new InputStreamReader(inputStream);
		bufferedReader = new BufferedReader(streamReader);

      // ファイルを一行ずつ読み込む
		String userId = bufferedReader.readLine();
		String password = bufferedReader.readLine();
		
      // stringBuilderに詰める
    stringBuilder.append(userId);
		stringBuilder.append(" ");
		stringBuilder.append(password);

	}catch(Exception e) {
		System.out.println(e);
	} finally{

		try {
          // ③入力ストリームを閉じる 
			if (bufferedReader != null) bufferedReader.close();
			if (streamReader != null) streamReader.close();
			if (inputStream != null) inputStream.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
	return stringBuilder;
}

【簡単な説明】

① ストリームを宣言

FileInputStream:ファイルを開いて、そのデータをバイトデータとして取り出す入力ストリーム
InputStreamReader:バイト入力ストリームをキャラクター入力ストリームに変換
BufferedReader:キャラクター入力ストリームをバッファリングする入力ストリーム(一行ずつ読み込みなどができる)

「② 入力ストリームを開く」のように引数に読み込みたいデータを入れ込むだけです!

③ ストリームを閉じる

出力ストリームの時と同じように、finallyブロックで最終的に入力ストリームを閉じなくてなりません

閉じる順番は開いたときの逆にします

ちなみに、開くとき閉じるときに失敗すると例外が発生するため必ず、try-catchブロック内で実装しましょう


いかがでしたでしょうか?

前回に引き続きファイルをJavaで扱ってみました!

簡単にデータをファイル書き込み、読み込みできますね!

様々なことに応用できると思うので、+αで工夫していろいろ実装してみましょう!

ではっ

是非フォローしてください

最新の情報をお伝えします

コメントを残す