1. ファイルとディレクトリを作成するための重要な技術ポイントは次のとおりです。
1. File クラスの CreateNewFile は、抽象パスに基づいて空のファイルを新規作成します。 抽象パスで指定されたファイルが存在する場合、作成は失敗します。
2. File クラスの mkdir メソッドは、抽象パスに基づいてディレクトリを作成します。
3. File クラスの mkdirs メソッドは、存在しない親ディレクトリの作成など、抽象パスに基づいてディレクトリを作成します。
4. File クラスの createTempFile メソッドは、ファイル名のプレフィックス、サフィックス、およびファイルが存在するディレクトリを指定できます。ディレクトリが指定されていない場合、ファイルはシステムの一時フォルダに保存されます。
5. mkdirs メソッドを除き、上記のメソッドでファイルおよびディレクトリを作成する場合は、ターゲット ファイルが存在しないこと、および親ディレクトリが存在することを確認する必要があります。そうしないと、作成は失敗します。
2 番目に、デモンストレーションの例は次のとおりです。
インポート java.io.File; インポート java.io.IOException; パブリック クラス CreateFileUtil { public static boolean createFile(String destFileName) { ファイル ファイル = new File(file.exists()) { System.out.println ("単一ファイルの作成" + destFileName + "失敗しました。ターゲット ファイルは既に存在します!"); if (destFileName.endsWith(File.separator)) { System.out.println("単一ファイルの作成" + destFileName + "失敗しました。ターゲット ファイルをディレクトリにすることはできません!") // ディレクトリがディレクトリであるかどうかを判断します。ターゲットファイルが存在する場所existsif(!file.getParentFile().exists()) { //対象ファイルが存在するディレクトリが存在しない場合は、親ディレクトリを作成します。 System.out.println("対象ファイルが存在するディレクトリが存在しません。作成する準備をしてください!"); .getParentFile().mkdirs()) { System.out.println("対象ファイルが存在するディレクトリの作成に失敗しました!") return false; } } //対象ファイルを作成します try { if (file.createNewFile) ()) { System.out.println("単一ファイルの作成" + destFileName + "成功!"); return true; } else { System.out.println("単一ファイルの作成" + destFileName + "失敗!"); } } catch (IOException e) { e.printStackTrace( ) ; System.out.println("単一ファイルの作成" + destFileName + "失敗しました!" + e.getMessage()); public static boolean createDir(String destDirName) { File dir = new File(destDirName); if (dir.exists()) { System.out.println("ディレクトリの作成" + destDirName + "失敗しました。ターゲット ディレクトリはすでに存在します"); ; } if (!destDirName.endsWith(File.separator)) { destDirName = destDirName + File.separator } // ディレクトリを作成します。 (dir.mkdirs()) { System.out.println("ディレクトリの作成" + destDirName + "成功しました! "); return true; } else { System.out.println("ディレクトリの作成" + destDirName + "失敗!"); return false; } } public static String createTempFile(String prefix, String suffix, String dirName) { File tempFile = null; if (dirName == null) { try{ //デフォルトのフォルダーに一時ファイルを作成します tempFile = File.createTempFile(prefix, suffix); //一時ファイルのパスを返す return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("一時ファイルの作成に失敗しました!" + e.getMessage ()) ; return null; } } else { File dir = new File(dirName) //一時ファイルが存在するディレクトリが存在しない場合は、最初に作成します if (!dir.exists()) (!CreateFileUtil.createDir(dirName)) { System.out.println("一時ファイルの作成に失敗しました。一時ファイルが存在するディレクトリを作成できません!" } } try { //指定されたディレクトリ内の一時ファイル tempFile = File.createTempFile(prefix, suffix, dir); return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("一時ファイルの作成に失敗しました!" + e.getMessage()) return null; } } } public static void main(String[] args) { // ディレクトリを作成しますdirName = "D:/work/temp/temp0/temp1"; CreateFileUtil.createDir(dirName); // ファイルを作成します String fileName = dirName + "/temp2/tempFile.txt"; CreateFileUtil.createFile(fileName); // 一時ファイルを作成します。 String prefix = "temp"; String suffix = ".txt"; { System.out.println("一時ファイルを作成しました: " + CreateFileUtil.createTempFile(prefix, suffix, dirName)); } //デフォルトのディレクトリに一時ファイルを作成 for (int i = 0; i < 10; i++) { System.out.println("デフォルトのディレクトリに一時ファイルが作成されました:" + CreateFileUtil.createTempFile(prefix, suffix) 、null ));出力結果:
ディレクトリ D:/work/temp/temp0/temp1 が正常に作成されました。 ターゲット ファイルが存在するディレクトリが存在しません。作成する準備をしてください。 単一のファイル D:/work/temp/temp0/temp1/temp2/tempFile.txt が正常に作成されました。 一時ファイルが作成されました: D:work emp emp0 emp1 emp5171.txt 一時ファイルが作成されました: D:work emp emp0 emp1 emp5172.txt 一時ファイルが作成されました: D:work emp emp0 emp1 emp5173.txt 一時ファイルが作成されました: D:work emp emp0 emp1 emp5174.txt 作成された一時ファイル: D:work emp emp0 emp1 emp5175.txt 作成された一時ファイル:D:work emp emp0 emp1 emp5176.txt 作成された一時ファイル:D:work emp emp0 emp1 emp5177.txt 作成された一時ファイル:D:work emp emp0 emp1 emp5178.txt 作成された一時ファイル:D :work emp emp0 emp1 emp5179.txt 一時ファイルが作成されました: D:work emp emp0 emp1 emp5180.txt 一時ファイルがデフォルトのディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt 一時ファイルがデフォルトのディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt 一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt 一時ファイルがデフォルト ディレクトリに作成されました: C:ドキュメントと設定管理者ローカル設定Temp emp5185.txt一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt 一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt 一時ファイルがデフォルト ディレクトリに作成されました: C:ドキュメントと設定管理者ローカル設定一時 emp5188.txt一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt 一時ファイルがデフォルト ディレクトリに作成されました: C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt