public void exportUrlsToFile(String file, String urls) throws IOException {
String[] urlsArray = urls.split("\\s+");// split on one or more white space characters.
// create a fresh file
RandomAccessFile raf = new RandomAccessFile(file, "rw");
for (String line : urlsArray) {
line = line.trim();
if (line.isEmpty()) {// this won't happen!
continue;
}
raf.writeBytes(line);
raf.writeBytes(newline);
}
// close the file handler
raf.close();
}
Run Code Online (Sandbox Code Playgroud)
基本上我用这个班做点什么.这是在tomcat JVM中运行的应用程序的一部分.我注意到,无论何时调用此方法,它都会创建一个与参数同名的文件,并且在raf.close()之后,它仍然存在.如何确保删除临时文件.
提前致谢.
一个更好的问题是,为什么你想要完成制作文件的所有麻烦,将文件写入文件,然后只删除文件?
无论你不需要随机访问文件 - FileWriter会更好.
要确保删除文件,请按照Eddie的建议将删除放在finnaly块中 - 但是您还需要确保处理raf.close()IOException ...类似于:
} finally {
try
{
raf.close();
}
catch(final IOException ex)
{
// in 14 years of Java programming I still don't know what to do here! ;-)
}
finally
{
File todelete = new File(file);
if (!todelete.delete()) {
// Log a complaint that we couldn't delete the temp file
}
}
}
编辑:
您可能还意味着在Tomcat进程完成后,文件仍然存在并且您希望它消失.如果是这种情况,请查看java.io.File.deleteOnExit().这应该在Tomcat JVM存在时删除文件.
| 归档时间: |
|
| 查看次数: |
4613 次 |
| 最近记录: |