Создание временного файла

Java:
Создание временного файла

Как это сделать:

В Java пакет java.nio.file - ваш друг для работы с временными файлами. Посмотрите на этот фрагмент:

import java.nio.file.Files;
import java.nio.file.Path;

public class TempFileExample {
    public static void main(String[] args) {
        try {
            // Создание временного файла
            Path tempFile = Files.createTempFile(null, ".tmp");
            System.out.println("Временный файл создан в: " + tempFile);

            // Запись во временный файл
            Files.writeString(tempFile, "Это содержимое временного файла");

            // Чтение из временного файла
            String content = Files.readString(tempFile);
            System.out.println("Содержимое временного файла: " + content);

            // Удаление временного файла (опционально, так как он удаляется при выходе из JVM)
            Files.delete(tempFile);
            System.out.println("Временный файл удален.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Запустите его, и вы получите что-то вроде:

Временный файл создан в: /tmp/user23423842348234823948.tmp
Содержимое временного файла: Это содержимое временного файла
Временный файл удален.

Неплохо, правда?

Подробнее

Временные файлы были частью нашего инструментария веками, начиная с зари вычислительной техники. Они ваш лучший выбор, когда вам нужно обработать данные, которые не должны оставаться.

Java поддерживает вас с классом Files начиная с Java 7, делая обработку временных файлов очень простой. До этого приходилось манипулировать объектами File и надеяться на лучшее (но не возвращайтесь к тем темным дням, обнимите новое API).

Крутая часть метода createTempFile заключается в том, что вы можете указать директорию и префикс или суффикс имени файла, или оставить это на усмотрение Java по умолчанию. Просто помните, если вы не удалите эти файлы вручную, они останутся до выхода из программы. И в некоторых случаях, особенно с долгосрочными приложениями, вы захотите сделать очистку самостоятельно, вместо того чтобы ждать финала.

Альтернативы? Конечно, вы могли бы пойти старым путем и обрабатывать каждую операцию с файлами вручную или использовать специфический для ОС метод. Однако, путь Java безопаснее и более переносим между платформами.

Смотрите также