Java创建临时文件示例

  • Java创建临时文件示例,在实际的程序设计中经常会用到临时文件,用于存储临时数据等。Java 语言也支持临时文件操作,本例演示了如何创建一个临时文件,并在其中存储数据。如下图所示,当按下“Create a TempFile”按钮后,程序即创建一个“TempFile.tmp”的临时文件并将窗口上部的所示文本存储在其中。您可以查看自己系统上的临时文件夹,如可能是“c:\windows\temp”,会多出一个新的文件,但并非“TempFile.tmp”,一般是“TempFile*.tmp”,如“TempFile22023.tmp”。这是系统为了防止文件重名。

    Java创建临时文件示例

    实现方法:本例的实现使用了java.io.File 类中的createTempFile()方法,其原型如下:

    1 public static File createTempFile(String prefix,String suffix) throws IOException
    2 public static File createTempFile(String prefix,String suffix,File dir) throws IOException

    其中参数prefix 表示临时文件名的前几个字符;参数suffix 表示后缀,必须是“.tmp”或“null”,当是null 时,系统自动添上.tmp;参数dir 表示临时文件夹位于此目录下。本例中,将使用第一种形式的createTempFile()方法。另外,还使用了File 类中的deleteOnExit()方法,使得当程序结束退出时删除临时文件,该方法经常和临时文件合用。其原型如下:

    1 public void deleteOnExit()

    程序代码的编写:
    1.新建一个Project,取名为JTempFileDemo。
    2.新建一个Application,取名为JTempFileDemo;主窗口取名为MainFrame,标题为JTempFileDemo。
    3.在MainFrame 类的设计器中添加一个JButton 组件置于窗口的下部和一个JScrollPane 组件置于窗口的中部,并子JScrollPane 组件中添加一个JTextArea 组件。具体代码如下:

    1 public class MainFrame extends JFrame {
    2 private JPanel contentPane;
    3 private BorderLayout borderLayout1 = new BorderLayout();
    4 //添加的各组件
    5 private JScrollPane jScrollPane1 = new JScrollPane();
    6 private JTextArea jTextArea1 = new JTextArea();
    7 private JButton jButton1 = new JButton();
    8 …..
    9 }

    4.编写MainFrame 类的初始化方法jbInit(),设置各组件的初始属性,并添加JButtton 组件的事件监听器,代码如下:

    01 private void jbInit() throws Exception {
    02 //设置各组件的属性,并在窗口中添加这些组件
    03 //setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));
    04 contentPane = (JPanel) this.getContentPane();
    05 contentPane.setLayout(borderLayout1);
    06 this.setSize(new Dimension(400162));
    07 this.setTitle("JTempFileDemo");
    08 jButton1.setText("Create a TempFile");
    09 jButton1.addActionListener(new java.awt.event.ActionListener() {//添加JButton 组件的事件监听器
    10 public void actionPerformed(ActionEvent e) {
    11 jButton1_actionPerformed(e);
    12 }
    13 });
    14 contentPane.add(jScrollPane1, BorderLayout.CENTER);
    15 contentPane.add(jButton1, BorderLayout.SOUTH);
    16 jScrollPane1.getViewport().add(jTextArea1, null);
    17 }

    5.编写JButton 组件的事件处理方法,当按钮按下时,创建一个临时文件,并把JTextArea 中的文本存入该临时文件中,具体的代码如下:

    01 void jButton1_actionPerformed(ActionEvent e) {
    02 File tempFile=null//申明文件对象
    03 FileOutputStream fos=null//申明文件输出流
    04 PrintStream ps=null//申明打印流
    05 //创建临时文件并存储数据
    06 try{
    07 tempFile = File.createTempFile("TempFile",".tmp"); //创建一个临时文件
    08 //创建文件输出流和打印流
    09 fos = new FileOutputStream(tempFile);
    10 ps = new PrintStream(fos);
    11 //将JTextArea 组件中的文本存入临时文件中
    12 ps.print(this.jTextArea1.getText());
    13 ps.close(); //关闭流
    14 tempFile.deleteOnExit(); //当程序退出时,删除临时文件
    15 }catch(Exception err){
    16 err.printStackTrace();
    17 }
    18 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值