トッカンソフトウェア

Java ファイル操作


今回はファイル操作をやります。ファイル、フォルダの存在チェック、作成、コピー、削除、名前変更などです。


サンプル①

以下のサンプルでは、ファイルが存在する確認し、存在する場合は別フォルダにコピー、さらに名前変更(移動)を行っています。
				
package test;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileTest {
	public static void main(String[] args) {
		try {
			String path = "C:\\work\\test.txt";
			String dirPath = "C:\\work\\New";

			File file = new File(path);

			// ファイルが存在するか確認
			if (file.exists()) {

				File dir = new File(dirPath);

				// フォルダが存在するか確認
				if (!dir.exists()) {

					// フォルダを作成
					dir.mkdirs();
				}

				// パスを連結
				Path filePath = Paths.get(dirPath, "testNew.txt");

				// ファイルをコピー
				Files.copy(file.toPath(), filePath);

				Path filePathTo = Paths.get(dirPath, "testNew2.txt");
				File fileFrom = new File(filePath.toString());
				File fileTo = new File(filePathTo.toString());
				if (fileTo.exists()) {

					// ファイルを削除
					fileTo.delete();
				}

				// ファイルを名前変更(移動)
				fileFrom.renameTo(fileTo);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


			

ファイル、フォルダの存在チェック

				
	File file = new File(パスの文字列);

	// ファイルが存在するか確認
	if (file.exists()) {

		// ファイルが存在した場合の処理
	}

			

パスの連結

C#のPath.Combineにあたるものが欲しかったのですが、Java1.7から出来るようになっていました。
Paths.getでパスを連結します。
				
	// パスを連結
	Path filePath = Paths.get(パス文字列①, パス文字列②);

			

ファイルコピー

ファイルコピーはFiles.copyで実行します。これもJava1.7で出来るようになりました。
				
	// ファイルをコピー
	Files.copy(Pathオブジェクトコピー元, Pathオブジェクトコピー先);

			

名前変更(ファイル移動)

名前変更(ファイル移動)はファイルオブジェクトのrenameToメソッドで行います。
				
	// ファイルを名前変更(移動)
	Fileオブジェクト移動元.renameTo(Fileオブジェクト移動先);

			

ファイル、フォルダ削除

ファイル、フォルダ削除はファイルオブジェクトのdeleteメソッドで行います。フォルダの中身は空にする必要があります。
				
	// ファイルを削除
	Fileオブジェクト.delete();

			

サンプル②

以下のサンプルでは、フォルダ内のフォルダ・ファイル一覧を取得しています。
				
package test;

import java.io.File;

public class FileTest {
	public static void main(String[] args) {
		String dirPath = "C:\\work";

		File dir = new File(dirPath);

		// フォルダが存在するか確認
		if (dir.exists()) {

			// フォルダ、ファイルの一覧を取得
			File[] files = dir.listFiles();
			for (File file : files) {

				// フォルダの場合
				if (file.isDirectory()) {
					System.out.println("Dir:" + file.getName());
				}

				// ファイルの場合
				else if (file.isFile()) {
					System.out.println("File:" + file.getName());
				}
			}

		}
	}
}


			

フォルダ、ファイルの一覧を取得

フォルダ、ファイルの一覧取得はファイルオブジェクトのlistFilesメソッドで行います。
				
	// フォルダ、ファイルの一覧を取得
	File[] files = ファイルオブジェクト.listFiles();

			

フォルダ、ファイルの確認

フォルダ、ファイルの確認はファイルオブジェクトのisDirectoryメソッド、isFileメソッドで行います。
				
	// フォルダの場合
	if (ファイルオブジェクト.isDirectory()) {

	}

	// ファイルの場合
	if (ファイルオブジェクト.isFile()) {

	}

			



ページのトップへ戻る