【Java】File→FileReader→BufferedReaderを使用して、csvファイルを1行ずつ読み込む

■ファイルの読み込み

Javaでファイルへの出力を行う1例として「File」→「FileReader」→「BufferedReader」オブジェクトを使用する。

▼ファイルオブジェクトの作成

出力ファイルを生成するには、Fileオブジェクトを生成し、保存するファイル名を指定する。

File file = new File("ここにファイル名を記入");

▼文字列を受け取る

Fileオブジェクトを引数として、文字列を受け取るFileReaderオブジェクトを生成する。

FileReader fReader = new FileReader("ここにFileオブジェクト名を記入");

▼文字列を読み込み

FileReaderオブジェクトを引数として、文字列を読み込むBufferedReaderオブジェクトを生成する。

BufferedReader bReader = new BufferedReader("ここにFileReader名を記入");

▼ファイルを1行ずつ読み込む

読み込んだファイルの内容を1行ずつ読み込む場合は、BufferedReaderオブジェクトのreadLineメソッドを使用する。

BufferedReader bReader = new BufferedReader("ここにFileReader名を記入");
bReader.readLine();

■作成するプログラムの概要

・1〜10が1行ずつ記載されたファイルを1行ずつ読み込む。

・読み込んだ結果をコンソールに出力する。

■フローチャート

■プログラム仕様

▼メイン処理

処理名メイン処理
処理概要1〜10が1行ずつ記載されたファイルを1行ずつ読み込む。
読み込んだ結果をコンソールに出力する。
引数なし
戻り値なし
入力処理内容出力
【try】
Fileオブジェクトを生成する。
FileReaderオブジェクトを生成する。
BufferedReaderオブジェクトを生成する。
ファイル読み込み開始を出力する。【コンソール】
開始メッセージ
1行ずつ読み込む用変数を初期化(””)する。
■ループ処理:ファイルの最終行まで繰り返し
|1行ずつ出力する。
【コンソール】
ファイルの値
ファイル読み込み終了を出力する。【コンソール】
終了メッセージ
【catch】
例外エラーを出力する。【コンソール】
例外エラー

■ファイルレイアウト

・input.csv

1
2
3
4
5
6
7
8
9
10

■サンプルコード

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class InputCsvFile {
	// メイン処理
	public static void main(String[] args) {
		try {
			// Fileオブジェクトを生成
			File file = new File("<ここにパスを記入>/input.csv");
			
			// FileReaderオブジェクトの生成
			FileReader fReader = new FileReader(file);
			
			// BufferedReaderオブジェクトの生成
			BufferedReader bReader = new BufferedReader(fReader);
			
			// ファイル読み込み開始出力
			System.out.println("インプットファイル読み込み開始");
			
			// 初期値をセット
			String data = "";
			
			// ファイルの最終行までループ
			while((data = bReader.readLine()) != null) {
				// 1行ずつ出力
				System.out.println(data);
			}
			
			// ファイル読み込み終了出力
			System.out.println("インプットファイル読み込み終了");
			
			// BufferedReaderオブジェクトをクローズ
			bReader.close();
			
			// 例外処理
			} catch(Exception e) {
			System.out.println(e);
		}
	}
}

■実行結果

インプットファイル読み込み開始
1
2
3
4
5
6
7
8
9
10
インプットファイル読み込み終了

コメント

タイトルとURLをコピーしました