在 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教程。