无法创建临时文件

Bla*_*dez 5 java temporary-files

我正在使用这段代码创建一个临时文件:

String tmpDirectoryOp = System.getProperty("java.io.tmpdir");
File tmpDirectory = new File(tmpDirectoryOp);
File fstream = File.createTempFile("tmpDirectory",".flv", tmpDirectory);
FileOutputStream fos = new FileOutputStream(fstream);
DataOutputStream dos=new DataOutputStream(fos);

dos.writeChars("Write something");

fstream.deleteOnExit();

fos.close();
dos.close();
Run Code Online (Sandbox Code Playgroud)

tmpDirectory.flv我的项目文件夹中没有.写句子是一个循环,这需要很长时间才能完成,所以问题不是文件被删除才能看到它.
任何的想法?提前致谢

Jig*_*shi 9

默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称.调用此方法相当于调用createTempFile(prefix,suffix,null).

您可以使用操作系统获取临时目录

System.getProperty("java.io.tmpdir");  
Run Code Online (Sandbox Code Playgroud)

你已经执行了 deleteOnExit()

public void deleteOnExit()
请求在虚拟机终止时删除此抽象路径名表示的文件或目录.将仅尝试删除虚拟机的正常终止,如Java语言规范所定义.一旦请求删除,就无法取消请求.因此,应谨慎使用此方法.

注意:此方法不应用于文件锁定,因为无法使生成的协议可靠地工作.应该使用FileLock工具.


Dea*_*mer 5

!请关闭溪流!

File fstream = File.createTempFile("tmpDirectory",".flv"); 
FileOutputStream fos = new FileOutputStream(fstream); 
DataOutputStream dos=new DataOutputStream(fos); 

dos.writeChars("Write something"); 

fstream.deleteOnExit(); 
Run Code Online (Sandbox Code Playgroud)

**

fos.close();
dos.close();
Run Code Online (Sandbox Code Playgroud)

**