【Java】チートシート【ファイル入出力編】

スポンサーリンク

※このページにはプロモーションが含まれています。当サイトは各種アフィリエイトプログラムから一定の収益を得ています。

ファイル書き込み

// テキストに書き込み
File file = new File("test.txt");
try (BufferedWriter bw = new BufferedWriter(new FileWriter(file));) {

	// 書き込み
	bw.write("ABCDE");

	// 改行
	bw.newLine();

	// 書き込み
	bw.write("あいうえお");

} catch(IOException e) {
	System.out.println(e);
}

ファイル読み込み

1文字ずつ読み込み

// テキストの読み込み
File file = new File("test.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file));) {

// 1文字ずつ読み込み
int ch = br.read();
	while(ch != -1) {

		System.out.println((char)ch);
		ch = br.read();
	}

} catch(IOException e) {
	System.out.println(e);
}

 

1行ずつ読み込み

// テキストの読み込み
File file = new File("test.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file));) {

// 1行ずつ読み込み
String line = br.readLine();
	while(line != null) {

		System.out.println(line);
		line = br.readLine();
	}

} catch(IOException e) {
	System.out.println(e);
}

存在チェック

Fileを使った場合

// 存在チェック
File file = new File("test.txt");

if(file.exists()) {
	// ファイル存在する
}

 

Pathを使った場合

// 存在チェック
Path path = Paths.get("test.txt");

if (Files.exists(path)) {
	// パスが存在する場合の処理
}

if(Files.notExists(path)) {
	// パスが存在しない場合の処理
}

コピー

// コピー
Path from = Paths.get("test1.txt");
Path to = Paths.get("test2.txt");

try {
	// fromをtoにコピー
	Files.copy(from, to);
} catch(IOException e) {
	System.out.println(e);
}

移動

// 移動
Path from = Paths.get("test1.txt");
Path to = Paths.get("test2.txt");

try {
	// fromをtoに移動
	Files.move(from, to);
} catch(IOException e) {
	System.out.println(e);
}

削除

ファイル削除

// 削除
Path path = Paths.get("test1.txt");
Path to = Paths.get("test2.txt");

try {
	// 削除
	Files.delete(path);

	// 存在する場合削除
	Files.deleteIfExists(path);
} catch(IOException e) {
	System.out.println(e);
}

 

ディレクトリ削除

private static void delDirectory(File dir) {

	for(File file: dir.listFiles()) {
		if(file.isDirectory()) {
			// ディレクトリの場合は再帰呼び出し
			delDirectory(file);
		} else {
			// ファイル削除
			file.delete();
		}
	}
	// ディレクトリ削除
	dir.delete();
}

サイズチェック

File file = new File("test.txt");

// バイト
long bytes = file.length();
// キロバイト
long kBytes = file.length() / 1024;
// メガバイト
long mBytes = file.length() / 1024 / 1024;

関連記事

【Java】チートシート

スポンサーリンク

Java