【Java】File→FileWriter→BufferedWriterを使用してcsvファイルを作成する

■ファイルへの出力

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

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

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

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

▼文字列を渡す

Fileオブジェクトを引数として、文字列を渡す、FileWriterオブジェクトを生成する

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

▼文字列を出力する

FileWriterオブジェクトを引数として、文字列を出力するBufferedWriterオブジェクトを生成する。
そして、BufferedWriterオブジェクトのwriteメソッドを使用して、文字列をファイルへ出力する。
なお、ファイル内での改行は、newLineメソッドを使用する。

BufferedWriter bw = new BufferedWriter("ここにFileWriterオブジェクト名を記入");

// ファイルへ文字を出力
bw.write("ここに出力する文字列を記入");

// ファイル内で改行を出力
bw.newLine();

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

・0〜9の数字をファイルへ出力する。

・各数字間の区切り文字はカンマ「 , 」カンマとする。

・数字が4または9の時は、改行する。

■フローチャート

■プログラム仕様

▼メイン処理

処理名メイン処理
処理概要0〜9の数字をファイルへ出力する。
各数字間の区切り文字はカンマ「 , 」カンマとする。
数字が4または9の時は、改行する。
引数なし
戻り値なし
入力処理内容出力
【try】
Fileオブジェクトを生成する。
FileWriterオブジェクトを生成する。
BufferedWriterオブジェクトを生成する。
■ループ処理:0〜9まで繰り返し
|ファイルに数字を出力する。・・・①
|▼条件分岐
||【数字が4または9の場合】
||出力ファイル内で改行する。・・・②
|-----
||【以外】
||ファイルにカンマを出力する。・・・③
|▲
【ファイル】
①数字
②改行
③カンマ
BufferedWriterをクローズする。
【catch】
例外エラーを出力する。【コンソール】
例外エラー

■サンプルコード

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

public class OutputCsvFile {
	// メイン処理
	public static void main(String[] args) {
		try {
			// Fileオブジェクトの生成
			File output_file = new File(
					"<ここにファイルパスを記入>result.csv");
			
			// FileWriterオブジェクトの生成
			FileWriter fw = new FileWriter(output_file);
			
			// BufferedWriterオブジェクトの生成
			BufferedWriter bw = new BufferedWriter(fw);
			
			// 0〜9まで繰り返し
			for(int i = 0; i < 10; i++) {
				
				// 出力ファイルに数字(文字列)を出力
				bw.write(String.valueOf(i));
				
				// 4または9の場合
				if(i == 4 || i == 9) {
					// 改行する
					bw.newLine();
				} else {
					// カンマをファイルに出力
					bw.write(",");
				}
			}
			// BufferedWriterをクローズする
			bw.close();
			
		// 例外処理
		}catch (Exception e) {
			System.out.println(e);
		}
	}	
}

■実行結果

0,1,2,3,4
5,6,7,8,9
タイトルとURLをコピーしました