📜  将数据写入临时文件的Java程序

📅  最后修改于: 2022-05-13 01:54:34.066000             🧑  作者: Mango

将数据写入临时文件的Java程序

临时文件或临时文件是为了在创建或修改文件时保留信息一段时间而创建的文件。程序成功执行或程序关闭后,临时文件被删除。拥有临时文件的其他优点是它有助于存储和移动数据、管理设置、帮助恢复丢失的数据以及管理多个用户。临时数据可称为互联网浏览器 cookie,在我们关闭浏览器或结束会话后删除的缓存,删除它们可以释放我们硬盘上的宝贵空间和计算机的速度。

我们需要在Java中创建临时文件的唯一原因是我们可能在各种情况下需要它,例如在创建单元测试时,我们不想存储中间Java操作的输出。但是,如果测试完成,我们可能会删除它们,因为它们可能会不必要地占用计算机上的空间。

有两种方法可用于创建临时文件,如下所示:

  1. 在默认位置创建临时文件
  2. 在指定位置创建临时文件

方法 1:在默认 TEMP 文件夹位置创建临时文件。

句法:

File.createTempFile(String prefix, String suffix) throws IOException

方法二:在指定目录下创建临时文件。

语法

File.createTempFile(String prefix, String suffix, File directory) throws IOException

实现:将这两种方法转化为Java程序,稍后分析输出

示例 1:

Java
import java.io.File;
import java.io.IOException;
  
public class GeeksforGeeks {
  
    public static void main(String[] args)
    {
        try {
            
            // To create a temp file on Default location:
            File tempFile
                = File.createTempFile("Hello Geek", ".tmp");
            System.out.println(
                "Temporary file is located on Default location"
                + tempFile.getAbsolutePath());
            
            // To create a temp file on specified directory
            tempFile = File.createTempFile(
                "Hello Geek", ".tmp",
                new File("/Users/ashray"));
            System.out.println(
                "Temporary file is located on Specified location: "
                + tempFile.getAbsolutePath());
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Java
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
  
public class GeeksforGeeks {
  
    public static void main(String[] args)
    {
        File tempFile = null;
        BufferedWriter writer = null;
        try {
            
            // Creating a temporary file
            tempFile
                = File.createTempFile("MyTempFile", ".tmp");
            writer = new BufferedWriter(
                new FileWriter(tempFile));
            writer.write(
                "Hello Geek!! How was your day like ?, This is a temp file.");
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if (writer != null)
                    writer.close();
            }
            catch (Exception ex) {
            }
        }
        System.out.println(
            "Hello Geek! Data has been stored in temporary file.");
        System.out.println("Temp file location: "
                           + tempFile.getAbsolutePath());
    }
}


控制台输出:

输出说明:

由于我们现在已经习惯了创建临时文件的过程,我们现在将使用它来将数据写入临时文件。将字符写入临时文件的最有效方法是使用Java BufferedWriter 类。它用于为写入器实例提供缓冲并提高性能。

实现:将数据写入临时文件

示例 2:

Java

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
  
public class GeeksforGeeks {
  
    public static void main(String[] args)
    {
        File tempFile = null;
        BufferedWriter writer = null;
        try {
            
            // Creating a temporary file
            tempFile
                = File.createTempFile("MyTempFile", ".tmp");
            writer = new BufferedWriter(
                new FileWriter(tempFile));
            writer.write(
                "Hello Geek!! How was your day like ?, This is a temp file.");
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if (writer != null)
                    writer.close();
            }
            catch (Exception ex) {
            }
        }
        System.out.println(
            "Hello Geek! Data has been stored in temporary file.");
        System.out.println("Temp file location: "
                           + tempFile.getAbsolutePath());
    }
}

输出:

控制台输出如下

“临时文件”输出如下: