java實(shí)現(xiàn)創(chuàng)建臨時(shí)文件然后在程序退出時(shí)自動(dòng)刪除文件
通過(guò)java的File類創(chuàng)建臨時(shí)文件,然后在程序退出時(shí)自動(dòng)刪除臨時(shí)文件。下面將通過(guò)創(chuàng)建一個(gè)JFrame界面,點(diǎn)擊創(chuàng)建按鈕在當(dāng)前目錄下面創(chuàng)建temp文件夾且創(chuàng)建一個(gè)以mytempfile******.tmp格式的文本文件。代碼如下:
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
/**
* 功能: 創(chuàng)建臨時(shí)文件(在指定的路徑下)
*/
public class TempFile implements ActionListener
{
private File tempPath;
public static void main(String args[]){
TempFile ttf = new TempFile();
ttf.init();
ttf.createUI();
}
//創(chuàng)建UI
public void createUI()
{
JFrame frame = new JFrame();
JButton jb = new JButton("創(chuàng)建臨時(shí)文件");
jb.addActionListener(this);
frame.add(jb,"North");
frame.setSize(200,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//初始化
public void init(){
tempPath = new File("./temp");
if(!tempPath.exists() || !tempPath.isDirectory())
{
tempPath.mkdir(); //如果不存在,則創(chuàng)建該文件夾
}
}
//處理事件
public void actionPerformed(ActionEvent e)
{
try
{
//在tempPath路徑下創(chuàng)建臨時(shí)文件"mytempfileXXXX.tmp"
//XXXX 是系統(tǒng)自動(dòng)產(chǎn)生的隨機(jī)數(shù), tempPath對(duì)應(yīng)的路徑應(yīng)事先存在
File tempFile = File.createTempFile("mytempfile", ".txt", tempPath);
System.out.println(tempFile.getAbsolutePath());
FileWriter fout = new FileWriter(tempFile);
PrintWriter out = new PrintWriter(fout);
out.println("some info!" );
out.close(); //注意:如無(wú)此關(guān)閉語(yǔ)句,文件將不能刪除
//tempFile.delete();
tempFile.deleteOnExit();
}
catch(IOException e1)
{
System.out.println(e1);
}
}
}
效果圖:

點(diǎn)擊創(chuàng)建臨時(shí)文件效果圖:

非常簡(jiǎn)單實(shí)用的功能,希望小伙伴們能夠喜歡。
相關(guān)文章
mybatis注解之@Mapper和@MapperScan的使用
這篇文章主要介紹了mybatis注解之@Mapper和@MapperScan的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
IDEA一致卡在build時(shí)間過(guò)長(zhǎng)問(wèn)題解決
有很多小伙伴在起項(xiàng)目的時(shí)候巨慢,特別影響開(kāi)發(fā)效率,本文主要介紹了IDEA一致卡在build時(shí)間過(guò)長(zhǎng)問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Java數(shù)據(jù)庫(kù)連接池之proxool_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Proxool是一種Java數(shù)據(jù)庫(kù)連接池技術(shù)。方便易用,便于發(fā)現(xiàn)連接泄漏的情況2017-08-08
spring cloud 的監(jiān)控turbine-rabbitmq的示例
這篇文章主要介紹了spring cloud 的監(jiān)控turbine-rabbitmq的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Spring底層機(jī)制環(huán)境搭建全過(guò)程
本文介紹了如何創(chuàng)建和使用Spring框架,包括模塊創(chuàng)建、依賴引入、環(huán)境搭建、Bean的生命周期管理、AOP編程以及代碼托管,通過(guò)實(shí)際操作和代碼示例,詳細(xì)講解了Spring的核心概念和功能2024-12-12
java集合List快速實(shí)現(xiàn)重復(fù)判斷的方法小結(jié)
在java編寫(xiě)代碼中經(jīng)常會(huì)遇到某些重復(fù)判定或者去重的操作,本文主要為大家介紹了幾個(gè)常用方法,感興趣的小伙伴可以跟隨不想一起學(xué)習(xí)一下2024-12-12
Tornadofx學(xué)習(xí)筆記之IconTextFx開(kāi)源庫(kù)整合5000+個(gè)字體圖標(biāo)
這篇文章主要介紹了Tornadofx學(xué)習(xí)筆記之IconTextFx開(kāi)源庫(kù)整合5000+個(gè)字體圖標(biāo)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
springmvc處理模型數(shù)據(jù)ModelAndView過(guò)程詳解
這篇文章主要介紹了springmvc處理模型數(shù)據(jù)ModelAndView過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
java中實(shí)現(xiàn)對(duì)象排序的兩種方法(Comparable,Comparator)
這篇文章主要給大家介紹了關(guān)于java中實(shí)現(xiàn)對(duì)象排序的兩種方法,一種是實(shí)現(xiàn)Comparable進(jìn)行排序,另一種是實(shí)現(xiàn)Comparator進(jìn)行排序,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12

