在 Java 中创建文件
最后修改于 2024 年 1 月 27 日
在本 Java 创建文件教程中,我们将展示如何在 Java 中创建文件。我们使用内置类,包括 File
、FileOutputStream
和 Files
来创建文件。我们还使用了两个第三方库:Apache Commons IO 和 Google Guava。
计算机文件 是一种计算机资源,用于在计算机存储设备中离散地记录数据。
本教程展示了在 Java 中创建文件的五种方法。这些例子创建的是空文件。
Java 使用 File 创建文件
如果具有此名称的文件尚不存在,则 File
的 createNewFile
方法会创建一个由路径名命名的新空文件。
package com.zetcode; import java.io.File; import java.io.IOException; public class JavaCreateFileEx { public static void main(String[] args) throws IOException { File file = new File("src/main/resources/myfile.txt"); if (file.createNewFile()) { System.out.println("File has been created."); } else { System.out.println("File already exists."); } } }
如果指定的文件不存在并成功创建,则 createNewFile
返回 true;如果指定的文件已存在,则返回 false。
Java 使用 FileOutputStream 创建文件
在第二个示例中,我们使用 FileOutputStream
创建一个新的空文件。
package com.zetcode; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class JavaCreateFileEx2 { public static void main(String[] args) throws FileNotFoundException, IOException { FileOutputStream fout = null; try { fout = new FileOutputStream("src/main/resources/myfile.txt"); } finally { if (fout != null) { fout.close(); } } } }
当实例化 FileOutputStream
对象时,文件将被创建。如果文件已存在,则会被覆盖。
如果文件存在但不是常规文件而是目录,不存在但无法创建,或者由于任何其他原因无法打开,则会抛出 FileNotFoundException
。
Java 使用 Files 创建文件
Java 7 引入了 Files
,它完全由对文件、目录或其他类型的文件进行操作的静态方法组成。它的 createFile
方法创建一个新的空文件,如果该文件已存在则会失败。
package com.zetcode; import java.io.IOException; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class JavaCreateFileEx3 { public static void main(String[] args) throws IOException { Path path = Paths.get("src/main/resources/myfile.txt"); try { Files.createFile(path); } catch (FileAlreadyExistsException ex) { System.err.println("File already exists"); } } }
该示例使用 Files
创建一个新的空文件。
Path path = Paths.get("src/main/resources/myfile.txt");
创建一个 Path
对象。它用于在文件系统中定位文件。
Files.createFile(path);
使用 Files.createFile
创建新文件。
} catch (FileAlreadyExistsException ex) {
如果文件已存在,则会抛出 FileAlreadyExistsException
。
Java 使用 Apache Commons IO 创建文件
下一个示例使用 Apache Commons IO 库创建一个文件。
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
对于这个项目,我们需要 commons-io
依赖。
package com.zetcode; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class JavaCreateFileEx4 { public static void main(String[] args) throws IOException { FileUtils.touch(new File("src/main/resources/myfile.txt")); } }
使用 FileUtils.touch
方法创建新文件。
Java 使用 Google Guava 创建文件
在以下示例中,我们使用 Google Guava 库创建一个新文件。
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.4-jre</version> </dependency>
对于这个项目,我们需要 guava
依赖。
package com.zetcode; import com.google.common.io.Files; import java.io.File; import java.io.IOException; public class JavaCreateFileEx5 { public static void main(String[] args) throws IOException { Files.touch(new File("src/main/resources/myfile.txt")); } }
使用 Files.touch
创建新文件。它接受一个 File
作为参数。
来源
在本文中,我们展示了几种在 Java 中创建文件的方法。我们使用了内置工具和第三方库。
作者
列出所有Java教程。