在 Java 创建文件教程中,我们展示了如何在 Java 中创建文件。 我们使用内置类创建文件,包括File
,FileOutputStream
和Files
。 我们还使用两个第三方库:Apache Commons IO 和 Google Guava。
计算机文件是用于在计算机存储设备中离散记录数据的计算机资源。
这些教程显示了用 Java 创建文件的五种方法。 这些示例创建空文件。
Java 用File
创建文件
如果尚不存在具有该名称的文件,则File's
createNewFile()
方法将创建一个新的空文件,其名称为路径名。
JavaCreateFileEx.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
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
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
依赖项。
JavaCreateFileEx4.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 库创建一个新文件。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.4-jre</version>
</dependency>
对于项目,我们需要guava
依赖项。
JavaCreateFileEx5.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 创建文件的方法。