繁体   English   中英

无法创建临时文件

[英]Can not create a temporary file

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

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();

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

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

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

System.getProperty("java.io.tmpdir");  

你已经执行了deleteOnExit()

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

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

请关闭溪流!

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

dos.writeChars("Write something"); 

fstream.deleteOnExit(); 

**

fos.close();
dos.close();

**

你看过/tmp文件夹了吗?

如果要在指定文件夹中创建临时文件,则需要3参数createTempFile函数

尝试刷新并关闭流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM