💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java – 创建新文件 > 原文: [https://howtodoinjava.com/java/io/how-to-create-a-new-file-in-java/](https://howtodoinjava.com/java/io/how-to-create-a-new-file-in-java/) **用 Java** 创建一个新文件是非常容易的任务。 我们大多数人都知道这一点。 让我们列出**三种为初学者创建新文件**的方法。 如果您知道,请在评论部分添加更多方法。 我将在帖子中包含它们。 > 阅读更多:[创建只读文件](https://howtodoinjava.com/java/io/how-to-make-a-file-read-only-in-java/) ## 1\. 使用`java.io.File`类创建文件 使用[`File.createNewFile()`](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createNewFile())方法创建新文件。 此方法返回布尔值: * `true`如果文件创建成功。 * `false`如果文件已经存在或由于某种原因操作失败。 请注意,此方法将**仅创建文件**,但**不会向其中写入任何内容**。 ```java File file = new File("c://temp//testFile1.txt"); //Create the file if (file.createNewFile()) { System.out.println("File is created!"); } else { System.out.println("File already exists."); } //Write Content FileWriter writer = new FileWriter(file); writer.write("Test data"); writer.close(); ``` ## 2)使用`java.io.FileOutputStream`类创建文件 [`FileOutputStream.write()`](https://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html#write(byte[]))方法自动**创建一个新文件并向其中写入内容**。 ```java String data = "Test data"; FileOutputStream out = new FileOutputStream("c://temp//testFile2.txt"); out.write(data.getBytes()); out.close(); ``` ## 3)使用`java.nio.file.Files`创建文件 – Java NIO [`Files.write()`](https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#write(java.nio.file.Path,%20java.lang.Iterable,%20java.nio.charset.Charset,%20java.nio.file.OpenOption...))是**创建文件**的最佳方法,如果您尚未使用它,则应该是将来的首选方法。 此方法**将文本行写入文件**中。 每行都是一个`char`序列,并按顺序写入文件,每行由平台的*行分隔符*终止。 #### 语法 ```java /** * @param path - the path to the file * @param lines - an object to iterate over the char sequences * @param cs - the charset to use for encoding * @param options - options specifying how the file is opened * * @return the path of new created file */ public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) throws IOException ``` #### `Files.write()`示例 ```java String data = "Test data"; Files.write(Paths.get("c://temp//testFile3.txt"), data.getBytes()); //or List<String> lines = Arrays.asList("1st line", "2nd line"); Files.write(Paths.get("file6.txt"), lines, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.APPEND); ``` ## 使用 Java 创建新文件的所有示例 ```java package com.howtodoinjava.examples.io; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.Arrays; import java.util.List; public class CreateNewFile { public static void main(String[] args) throws IOException { createFileUsingFileClass(); createFileUsingFileOutputStreamClass(); createFileIn_NIO(); } private static void createFileUsingFileClass() throws IOException { File file = new File("c://temp//testFile1.txt"); //Create the file if (file.createNewFile()){ System.out.println("File is created!"); }else{ System.out.println("File already exists."); } //Write Content FileWriter writer = new FileWriter(file); writer.write("Test data"); writer.close(); } private static void createFileUsingFileOutputStreamClass() throws IOException { String data = "Test data"; FileOutputStream out = new FileOutputStream("c://temp//testFile2.txt"); out.write(data.getBytes()); out.close(); } private static void createFileIn_NIO() throws IOException { String data = "Test data"; Files.write(Paths.get("c://temp//testFile3.txt"), data.getBytes()); //or List<String> lines = Arrays.asList("1st line", "2nd line"); Files.write(Paths.get("file6.txt"), lines, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.APPEND); } } ``` 学习愉快!