Javaフォルダ作成の方法と長所短所を詳細にまとめます。
一、伝統的なAPIによるフォルダ作成方式
Java伝統的なIO APIは、java.io.Fileクラスのfile.mkdir()とfile.mkdirs()を使用してフォルダを作成します。
file.mkdir()フォルダを作成してtrueに戻り、失敗しました。falseに戻ります。フォルダを作成した親フォルダが存在しなくてもfalseに戻ります。例外なく投げられます。
file.mkdirs()作成したフォルダは、親フォルダと一緒に作成され、作成が成功したらtrueに戻り、作成に失敗したらfalseに戻ります。作成に失敗しました。例外なく投げられました。
フォルダ作成結果(親フォルダなし):false
フォルダの作成結果(親フォルダを含む):true
mkdirとmkdirsは文書を作成することができますが、異常処理の一環で非常に友好的ではありません。作成に失敗したらfalseに戻ります。作成に失敗した理由は説明されていません。親フォルダが存在しないので作成に失敗しましたか?それともフォルダが既に存在していますか?作成に失敗しましたか?それともディスクIOのせいでフォルダ作成に失敗しましたか?
二、Java NIO作成フォルダ
従来のIO作成フォルダにおける異常な失敗処理問題が明確でない問題を解決するために、JavaのNIOで改善しました。
2.1.Files.reat Directory作成フォルダ
作成されたフォルダの親フォルダが存在しない場合は、NoSuchFileExceptionをスローします。
作成されたフォルダが既に存在する場合、FileAlreadyExists Exceptionをスローします。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
作成されたフォルダの親フォルダが存在しない場合、作成します。
作成されたフォルダが既に存在する場合は、既に存在しているフォルダを使って作成を繰り返しません。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
だから、Files.creat Directoresを使用できるところはFiles.createDirectoryを使用しないで、できるだけ少なく異常に遭遇します。
三、結び
Java言語では、指定されたディレクトリを作成する方法は、java.io.File類とjava.nio.file.Filesを含む4つの方法があります。
file.mkdir()フォルダを作成してtrueに戻り、失敗しました。falseに戻ります。フォルダを作成した親フォルダが存在しなくてもfalseに戻ります。例外なく投げられます。
file.mkdirs()作成したフォルダは、親フォルダと一緒に作成され、作成が成功したらtrueに戻り、作成に失敗したらfalseに戻ります。作成に失敗しました。例外なく投げられました。
Files.creat Directory作成フォルダ
作成されたフォルダの親フォルダが存在しない場合は、NoSuchFileExceptionをスローします。
作成されたフォルダが既に存在する場合、FileAlreadyExists Exceptionをスローします。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
Files.creat Directoresフォルダとその親フォルダを作成します。
作成されたフォルダの親フォルダが存在しない場合、作成します。
作成されたフォルダが既に存在する場合は、既に存在しているフォルダを使って作成を繰り返しません。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
四つの方式の中で、最適な方式はFiles.createDirectoresを使ってフォルダを作成します。
以上で、Javaのフォルダ作成の方法と長所と短所についての詳細な記事を紹介します。Javaに関するフォルダの作成については、以前の文章を検索したり、以下の関連記事を見たりしてください。これからもよろしくお願いします。
Java伝統的なIO APIは、java.io.Fileクラスのfile.mkdir()とfile.mkdirs()を使用してフォルダを作成します。
file.mkdir()フォルダを作成してtrueに戻り、失敗しました。falseに戻ります。フォルダを作成した親フォルダが存在しなくてもfalseに戻ります。例外なく投げられます。
file.mkdirs()作成したフォルダは、親フォルダと一緒に作成され、作成が成功したらtrueに戻り、作成に失敗したらfalseに戻ります。作成に失敗しました。例外なく投げられました。
@Test
void testCreateDir1() {
//“D:\data111”
String dirStr = "D:\\data111\\test";
File directory = new File(dirStr);
//mkdir
boolean hasSucceeded = directory.mkdir();
System.out.println(" ( ):" + hasSucceeded);
//mkdirs
hasSucceeded = directory.mkdirs();
System.out.println(" ( ):" + hasSucceeded);
}
出力結果は以下の通りです。mkdirを使って作成に失敗し、mkdirsを使って作成に成功しました。フォルダ作成結果(親フォルダなし):false
フォルダの作成結果(親フォルダを含む):true
mkdirとmkdirsは文書を作成することができますが、異常処理の一環で非常に友好的ではありません。作成に失敗したらfalseに戻ります。作成に失敗した理由は説明されていません。親フォルダが存在しないので作成に失敗しましたか?それともフォルダが既に存在していますか?作成に失敗しましたか?それともディスクIOのせいでフォルダ作成に失敗しましたか?
二、Java NIO作成フォルダ
従来のIO作成フォルダにおける異常な失敗処理問題が明確でない問題を解決するために、JavaのNIOで改善しました。
2.1.Files.reat Directory作成フォルダ
作成されたフォルダの親フォルダが存在しない場合は、NoSuchFileExceptionをスローします。
作成されたフォルダが既に存在する場合、FileAlreadyExists Exceptionをスローします。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
Path path = Paths.get("D:\\data222\\test");
Path pathCreate = Files.createDirectory(path);
2.2 Files.creat Directoresフォルダとその親フォルダを作成する作成されたフォルダの親フォルダが存在しない場合、作成します。
作成されたフォルダが既に存在する場合は、既に存在しているフォルダを使って作成を繰り返しません。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
だから、Files.creat Directoresを使用できるところはFiles.createDirectoryを使用しないで、できるだけ少なく異常に遭遇します。
Path path = Paths.get("D:\\data222\\test");
Path pathCreate = Files.createDirectorys(path);
また、NIOのAPIで作成されたフォルダの戻り値がPathであることに注意してください。このようにすると、フォルダを作成した後、ファイルデータなどをフォルダに書き込み続けることができます。伝統的なIOよりも1つのブーメランだけ返した方がずっといいです。三、結び
Java言語では、指定されたディレクトリを作成する方法は、java.io.File類とjava.nio.file.Filesを含む4つの方法があります。
file.mkdir()フォルダを作成してtrueに戻り、失敗しました。falseに戻ります。フォルダを作成した親フォルダが存在しなくてもfalseに戻ります。例外なく投げられます。
file.mkdirs()作成したフォルダは、親フォルダと一緒に作成され、作成が成功したらtrueに戻り、作成に失敗したらfalseに戻ります。作成に失敗しました。例外なく投げられました。
Files.creat Directory作成フォルダ
作成されたフォルダの親フォルダが存在しない場合は、NoSuchFileExceptionをスローします。
作成されたフォルダが既に存在する場合、FileAlreadyExists Exceptionをスローします。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
Files.creat Directoresフォルダとその親フォルダを作成します。
作成されたフォルダの親フォルダが存在しない場合、作成します。
作成されたフォルダが既に存在する場合は、既に存在しているフォルダを使って作成を繰り返しません。
ディスクIOに異常がある場合は、IOExceptionを抛り出す。
四つの方式の中で、最適な方式はFiles.createDirectoresを使ってフォルダを作成します。
以上で、Javaのフォルダ作成の方法と長所と短所についての詳細な記事を紹介します。Javaに関するフォルダの作成については、以前の文章を検索したり、以下の関連記事を見たりしてください。これからもよろしくお願いします。