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

Как удалить временный файл в Java

В Java мы можем использовать файлы NIO.удалить()` чтобы удалить временный файл, он работает так же, как удаление обычного текстового файла.

В Java мы можем использовать файлы NIO .удалить() или Файлы.deleteIfExists() для удаления временного файла он работает так же, как удаление обычного текстового файла .

  // create a temporary file
  Path path = Files.createTempFile(null, ".log");
  // delete
  Files.delete(path);

  // or
  if(Files.deleteIfExists(path)){
    // success
  }else{
    // file does not exist
  }

1. Удалить временный файл – Java NIO

В этом примере используется java.nio для создания временного файла, записи строки и ее удаления.

package com.mkyong.io.temp;

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

public class TempFileDelete1 {

    public static void main(String[] args) {

        try {

            Path temp = Files.createTempFile(null, ".log");
            System.out.println(temp);

            // if file doesn't exist throws NoSuchFileException
            // Files.delete(temp);

            // write a line
            Files.write(temp, "Hello World".getBytes(StandardCharsets.UTF_8));

            // check if file exists before delete
            boolean result = Files.deleteIfExists(temp);
            if (result) {
                System.out.println("File is success delete.");
            } else {
                System.out.println("File doesn't exist.");
            }

        } catch (IOException e) {
            System.err.println("Unable to delete the file!");
            e.printStackTrace();
        }

    }

}

Выход

/tmp/16821893865655843803.log
File is success delete.

2. Удалить временный файл – Java IO

В этом примере используется устаревший ввод-вывод java.io чтобы создать временный файл и удалить его позже.

package com.mkyong.io.temp;

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

public class TempFileDelete2 {

    public static void main(String[] args) {

        try {

            File tempFile = File.createTempFile("abc_", ".log");
            System.out.println(tempFile);

            boolean result = tempFile.delete();
            if (result) {
                System.out.println(tempFile.getName() + " is deleted!");
            } else {
                System.out.println("Sorry, unable to delete the file.");
            }

            // delete when JVM exit normally.
            // tempFile.deleteOnExit();

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

    }

}

Файл .deleteOnExit() удалит временный файл только в том случае, если “JVM выйдет нормально” использует его с осторожностью.

Примечание У устаревшего ввода-вывода есть некоторые недостатки , если возможно, всегда выбирается новый Java NIO java.nio. * для ввода-вывода файлов.

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

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

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

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

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