Рубрики
Без рубрики

Как создать файл на Java

В Java “Файлы.запись” является рекомендуемым решением для создания и записи в файл.

В Java существует множество способов создания и записи в файл.

  1. Файлы.newbufferedwriter ( Java 8)
  2. Файлы.запись (Java 7)
  3. Печатающий автор
  4. Печатающий автор

Примечание Я предпочитаю Java 7 nio Files.write для создания и записи в файл, потому что в нем гораздо более чистый код и автоматическое закрытие открытых ресурсов.

  Files.write(
        Paths.get(fileName),
        data.getBytes(StandardCharsets.UTF_8));

1. Файлы Java 8.newbufferedwriter

1.1 В этом примере показано, как использовать новую Java 8 Files.newbufferedwriter для создания и записи в файл.

package com.mkyong.io.file;

import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class CreateFileJava8 {

    public static void main(String[] args) {

        String fileName = "/home/mkyong/newFile.txt";

        Path path = Paths.get(fileName);

        // default, create, truncate and write to it.
        try (BufferedWriter writer =
                     Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {

            writer.write("Hello World !!");

        } catch (IOException e) {
            e.printStackTrace();
        }

        /* Append mode.
        try (BufferedWriter writer =
                     Files.newBufferedWriter(path,
                             StandardCharsets.UTF_8,
                             StandardOpenOption.APPEND)){

            writer.write("Hello World !!");

        } catch (IOException e) {
            e.printStackTrace();
        }*/

    }
}

2. Файлы Java 7.запись

2.1 В этом примере показано, как использовать Java 7 nio Files.write для создания и записи в файл.

По умолчанию он открывает файл для записи; создайте файл, если он не существует; урежьте текущее содержимое, если файл существует.

package com.mkyong.io.file;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

public class CreateFileNio {

    public static void main(String[] args) {

        String fileName = "/home/mkyong/newFile.txt";
        String content = "hello world!";

        try {

            // Java 1.7
            // default, create and write to it.
            Files.write(
                    Paths.get(fileName),
                    content.getBytes(StandardCharsets.UTF_8));

            // Append content
            /*Files.write(
                    Paths.get(fileName),
                    content.getBytes(StandardCharsets.UTF_8),
                    StandardOpenOption.APPEND);*/

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

2.2 Просмотрите Файлы.напишите. исходный код ; он использует функцию “попробуйте с ресурсами” для автоматического закрытия открытых ресурсов.

package java.nio.file;

  public final class Files {

      public static Path write(Path path, byte[] bytes, OpenOption... options)
            throws IOException
      {
          // ensure bytes is not null before opening file
          Objects.requireNonNull(bytes);

          try (OutputStream out = Files.newOutputStream(path, options)) {
              int len = bytes.length;
              int rem = len;
              while (rem > 0) {
                  int n = Math.min(rem, BUFFER_SIZE);
                  out.write(bytes, (len-rem), n);
                  rem -= n;
              }
          }
          return path;
      }

      //...
  }

3. Печатающий автор

3.1 В этом примере показано, как использовать PrintWriter для создания и записи в файл.

package com.mkyong.io.file;

import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;

public class CreateFile {

    public static void main(String[] args) {

        String fileName = "/home/mkyong/newFile.txt";

        // Java 10, new constructor, support Charsets
        try (PrintWriter writer = new PrintWriter(fileName, StandardCharsets.UTF_8)) {

            writer.println("first line!");
            writer.println("second line!");

        } catch (IOException e) {
            e.printStackTrace();
        }

        // Java 1.5
        /*try (PrintWriter writer = new PrintWriter(fileName, "UTF-8")) {

            writer.println("first line!");
            writer.println("second line!");

        } catch (IOException e) {
            e.printStackTrace();
        }*/
    }
}

4. Файл.Создать новый файл()

4.1 В этом примере показано, как использовать File.createNewFile() для создания пустого файла, а Файловую машинку для записи данных в файл.

package com.mkyong.io.file;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class CreateFile2 {

    public static void main(String[] args) {

        String fileName = "/home/mkyong/newFile.txt";

        try {

            File file = new File(fileName);

            // true if file does no exist and was created successfully.
            // false if file is already exists
            if (file.createNewFile()) {
                System.out.println("File is created!");
            } else {
                System.out.println("File already exists.");
            }

            // Write to file
            try (FileWriter writer = new FileWriter(file)) {
                writer.write("Hello World!");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

Скачать Исходный Код

$клон git $клон git

$cd java-ввод-вывод

Рекомендации

Оригинал: “https://mkyong.com/java/how-to-create-a-file-in-java/”