在java中打开临时文件

我正在写字符串到临时文件( temp.txt ),我希望在我关闭该文件后打开我应该删除的awt窗口按钮后打开该文件(打开该文件后),我该怎么做?

这是我用来在Java中创建临时文件的代码:

 File temp = File.createTempFile("temp",".txt"); FileWriter fileoutput = new FileWriter(temp); Bufferedwriter buffout = new BufferedWriter(fileoutput); 

创建的文件:

 File temp = File.createTempFile("temp",".txt"); 

不会被删除,请参阅javadoc ,你必须打电话

 temp.deleteOnExit(); 

所以JVM会在退出时删除文件…

怎么样的:

 if (!temp.delete()) { // wasn't deleted for some reason, delete on exit instead temp.deleteOnExit(); } 

一些可能对您有帮助的链接:

  • File.getAbsoluteFile() / getAbsolutePath() 。
  • FileReader 。
  • File.delete() 。

要在单击按钮时执行操作,您将需要以下代码:

  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上打开文件的模式(不知道它是否存在)。

只需在代码中写入文件就没有意义。 您可能希望在关闭读取流而不是写入流之后删除该文件。 如果可能的话,避免临时文件并不是一个坏主意。