Java ファイルの読み込みと書き込み(Filesクラス)

Javaのファイルの読み込みと書き込みのサンプルです。
FilesクラスとPathsクラスを使用します。

Filesクラス

Pathsクラス

コード

サンプルのコードです。
ディレクトリの存在チェックと作成と削除の処理と、ファイルの存在チェックと作成と削除と書き込みと読み込みをしています。

package test1;
 
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;
 
/**
 * Filesクラスによるファイル読み書きのサンプル
 * Pathsクラスでディレクトリとファイルを指定
 */
class Sample {
 
	void runSample(){
 
	String dir = "D:\\workspace123abc";
	String filename = "test1.txt";
 
	List<String> listA = new ArrayList<>();
	listA.add("あ");
	listA.add("い");
	listA.add("う");
 
	try {
		// ディレクトリが存在するかのチェック
		if (!Files.isDirectory(Paths.get(dir))) {
			//ディレクトリが存在しない場合ディレクトリを作成
			Files.createDirectory(Paths.get(dir));
		}
 
		// ファイルが存在するかのチェック
		if (!Files.exists(Paths.get(dir, filename))) {
			//ファイルが存在しない場合ファイルを作成
			Files.createFile(Paths.get(dir, filename));
		}
 
		// Filesクラスを使用してファイルに書き込み
		// StandardOpenOption.APPEND = 追記で書き込み
		Files.write(Paths.get(dir, filename), listA,
				Charset.forName("SHIFT_JIS"), StandardOpenOption.APPEND);
 
 
		// Filesクラスを使用してファイルの読み込み
        List<String> line = Files.readAllLines(Paths.get(dir, filename),
                Charset.forName("SHIFT_JIS"));
 
 
        // 読み込んだ文字をコンソールに出力
        for (String s : line) {
            System.out.println(s);
        }
 
        // 作成したファイルが存在していた場合削除
        // Files.deleteIfExists(Paths.get(dir, filename));
 
        // 作成したディレクトリが存在していた場合削除
        // Files.deleteIfExists(Paths.get(dir));
 
	} catch (IOException e) {
		e.printStackTrace();
	}
	}
}
public class Test1 {
	public static void main(String[] args) {
		Sample s = new Sample();
		s.runSample();
 	}
}

指定する主な文字コード

Filesクラスの書き込みと読み込みのメソッドで指定する主な文字コードです。

文字コード 指定する文字コード名称
シフトJIS Shift_JIS
SJIS
UTF8 UTF-8

関連の記事

Java バイナリファイルの読み込みと書き込み(FileInputStreamとFileOutputStream)
Java ファイルの読み込みと書き込み(BufferedReaderとBufferedWriter)
Java ファイルの読み込みと書き込み(InputStreamReaderとOutputStreamWriter)
Java フォルダ内のファイルの一覧を取得するサンプル(Fileクラス)
Java ドライブの容量とドライブの空き容量を取得する(Fileクラス)




△上に戻る