【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で扱ってみました!
簡単にデータをファイル書き込み、読み込みできますね!
様々なことに応用できると思うので、+αで工夫していろいろ実装してみましょう!
ではっ
是非フォローしてください
最新の情報をお伝えします