在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上打开文件的模式(不知道它是否存在)。
只需在代码中写入文件就没有意义。 您可能希望在关闭读取流而不是写入流之后删除该文件。 如果可能的话,避免临时文件并不是一个坏主意。