Java – 创建新文件

Java – 创建新文件

原文: https://howtodoinjava.com/java/io/how-to-create-a-new-file-in-java/

用 Java 创建一个新文件是非常容易的任务。 我们大多数人都知道这一点。 让我们列出三种为初学者创建新文件的方法。 如果您知道,请在评论部分添加更多方法。 我将在帖子中包含它们。

阅读更多:创建只读文件

1. 使用java.io.File类创建文件

使用File.createNewFile()方法创建新文件。 此方法返回布尔值:

  • true如果文件创建成功。
  • false如果文件已经存在或由于某种原因操作失败。

请注意,此方法将仅创建文件,但不会向其中写入任何内容

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()方法自动创建一个新文件并向其中写入内容

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()创建文件的最佳方法,如果您尚未使用它,则应该是将来的首选方法。

此方法将文本行写入文件中。 每行都是一个char序列,并按顺序写入文件,每行由平台的行分隔符终止。

语法

/**
* @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()示例

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 创建新文件的所有示例

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);
    }
}

学习愉快!