我正在使用这段代码创建一个临时文件:
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
。写句是一个循环,这需要很长时间才能完成,所以问题不是文件被删除才能看到它。
任何的想法?提前致谢
答案 0 :(得分:9)
在默认值中创建一个空文件 临时文件目录,使用 给出前缀和后缀来生成 其名称。调用此方法是 相当于调用 createTempFile(前缀,后缀,null)。
您可以使用
获取操作系统的临时目录System.getProperty("java.io.tmpdir");
您已执行deleteOnExit()
public void deleteOnExit()
请求该文件或目录 由此抽象路径名表示 删除虚拟机时 终止。将尝试删除 仅用于正常终止 虚拟机,由...定义 Java语言规范。一旦 已经请求删除,但事实并非如此 可以取消请求。这个 因此应该使用方法 在意。注意:不应使用此方法 用于文件锁定,作为结果 协议不能成功 可靠。 FileLock工具应该 改为使用。
答案 1 :(得分:5)
!!请关闭溪流!!
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();
**
答案 2 :(得分:4)
您是否查看了/tmp
文件夹?
如果要在指定文件夹中创建临时文件,则需要3 param createTempFile
function
答案 3 :(得分:0)
尝试刷新并关闭流。