多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 用 Java 创建文件 原文:http://zetcode.com/java/createfile/ 在 Java 创建文件教程中,我们展示了如何在 Java 中创建文件。 我们使用内置类创建文件,包括`File`,`FileOutputStream`和`Files`。 我们还使用两个第三方库:Apache Commons IO 和 Google Guava。 计算机文件是用于在计算机存储设备中离散记录数据的计算机资源。 这些教程显示了用 Java 创建文件的五种方法。 这些示例创建空文件。 ## Java 用`File`创建文件 如果尚不存在具有该名称的文件,则`File`的`createNewFile()`方法将创建一个新的空文件,其名称为路径名。 `JavaCreateFileEx.java` ```java 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`;否则,返回 0。 如果命名文件已经存在,则返回`false`。 ## Java 使用`FileOutputStream`创建文件 在第二个示例中,我们使用`FileOutputStream`创建一个新的空文件。 `JavaCreateFileEx2.java` ```java 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()`方法创建一个新的空文件,如果该文件已存在则失败。 `JavaCreateFileEx3.java` ```java 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`创建一个新的空文件。 ```java Path path = Paths.get("src/main/resources/myfile.txt"); ``` 创建一个`Path`对象。 它用于在文件系统中定位文件。 ```java Files.createFile(path); ``` 使用`Files.createFile()`创建新文件。 ```java } catch (FileAlreadyExistsException ex) { ``` 如果文件已经存在,则抛出`FileAlreadyExistsException`。 ## Java 使用 Apache Commons IO 创建文件 下一个示例使用 Apache Commons IO 库创建一个文件。 ```java <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> ``` 对于项目,我们需要`commons-io`依赖项。 `JavaCreateFileEx4.java` ```java 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()`方法创建新文件。 ## 用 Google Guava Java 创建文件 在下面的示例中,我们使用 Google Guava 库创建一个新文件。 ```java <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>23.4-jre</version> </dependency> ``` 对于项目,我们需要`guava`依赖项。 `JavaCreateFileEx5.java` ```java 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 创建目录](/java/createdirectory/),[用 Java 复制文件](/java/copyfile/), [Java 文件大小](/java/filesize/), [Java `Files.list`教程](/java/fileslist/), [Java Unix 时间](/java/unixtime/),[读取 Java 中的文本文件](/articles/javareadtext/), [Apache `FileUtils`教程](/java/fileutils/), [Java 文件教程](/java/file/)和 [Java 教程](/lang/java/)。