Java创建临时文件示例,在实际的程序设计中经常会用到临时文件,用于存储临时数据等。Java 语言也支持临时文件操作,本例演示了如何创建一个临时文件,并在其中存储数据。如下图所示,当按下“Create a TempFile”按钮后,程序即创建一个“TempFile.tmp”的临时文件并将窗口上部的所示文本存储在其中。您可以查看自己系统上的临时文件夹,如可能是“c:\windows\temp”,会多出一个新的文件,但并非“TempFile.tmp”,一般是“TempFile*.tmp”,如“TempFile22023.tmp”。这是系统为了防止文件重名。 实现方法:本例的实现使用了java.io.File 类中的createTempFile()方法,其原型如下:
public static File createTempFile(String prefix,String suffix) throws IOException
public static File createTempFile(String prefix,String suffix,File dir) throws IOException
其中参数prefix 表示临时文件名的前几个字符;参数suffix 表示后缀,必须是“.tmp”或“null”,当是null 时,系统自动添上.tmp;参数dir 表示临时文件夹位于此目录下。本例中,将使用第一种形式的createTempFile()方法。另外,还使用了File 类中的deleteOnExit()方法,使得当程序结束退出时删除临时文件,该方法经常和临时文件合用。其原型如下:
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(400, 162));
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
}