![](/img/trans.png)
[英]Can we create file/zipfile as InputStream without a temporary file in java
[英]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.