您的位置:首页 > 编程语言 > Java开发

Java创建临时文件示例

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



实现方法:本例的实现使用了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(
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 中的文本存入该临时文件中,具体的代码如下:

view
source

print?

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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: