我正在将字符串写入临时文件(temp.txt
)并且我希望在我关闭该文件时(在打开该文件后)我应该删除的awt窗口按钮后打开该文件,我该怎么办?这样做?
这是我用来在Java中创建临时文件的代码:
File temp = File.createTempFile("temp",".txt");
FileWriter fileoutput = new FileWriter(temp);
Bufferedwriter buffout = new BufferedWriter(fileoutput);
答案 0 :(得分:19)
由以下人员创建的文件:
File temp = File.createTempFile("temp",".txt");
不会被删除,请参阅javadoc,您必须致电
temp.deleteOnExit();
所以JVM会在退出时删除文件......
答案 1 :(得分:4)
如下:
if (!temp.delete())
{
// wasn't deleted for some reason, delete on exit instead
temp.deleteOnExit();
}
答案 2 :(得分:1)
可能对您有所帮助的一些链接:
答案 3 :(得分:0)
要在单击按钮时执行操作,您将需要以下代码:
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent event) {
fileOperation();
}
}
...
private void fileOperation() {
... do stuff with file ...
}
你可以在谷歌找到很多例子。通常,匿名内部类代码应该简短,只需将事件和上下文转换为对外部类有意义的操作。
目前,您需要在关闭文件后使用File.delete
手动删除该文件。如果你真的想要,你可以扩展,比如,RandomAccessFile
并覆盖close
以在结束后删除。我认为关闭时删除被认为是在JDK7上打开文件的一种模式(不知道它是否存在)。
只需在代码中写入文件就没有意义。您可能希望在关闭读取流而不是写入流之后删除该文件。如果可能的话,避免临时文件并不是一个坏主意。