跳转至

用 Java 创建文件

原文:http://zetcode.com/java/createfile/

在 Java 创建文件教程中,我们展示了如何在 Java 中创建文件。 我们使用内置类创建文件,包括FileFileOutputStreamFiles。 我们还使用两个第三方库:Apache Commons IO 和 Google Guava。

计算机文件是用于在计算机存储设备中离散记录数据的计算机资源。

这些教程显示了用 Java 创建文件的五种方法。 这些示例创建空文件。

Java 用File创建文件

如果尚不存在具有该名称的文件,则FilecreateNewFile()方法将创建一个新的空文件,其名称为路径名。

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 创建文件的方法。 我们使用了内置工具和第三方库。 您可能也对相关教程感兴趣: Java 创建目录用 Java 复制文件Java 文件大小Java Files.list教程Java Unix 时间读取 Java 中的文本文件Apache FileUtils教程Java 文件教程Java 教程



回到顶部