【发布时间】:2017-05-19 21:28:39
【问题描述】:
我正在编写一个 java servlet,它从客户端下载文件并将其移动到某个特定位置。移动后,我删除下载的文件。有时 linux 会创建 .fuse_hidden______ 命名文件。他们一直呆在那里,直到我重新启动我的服务器进程。下载后我会关闭所有打开的流。它通常发生在已安装的 USB 闪存驱动器上。
这是我的代码 sn-p
try{
...
inputStream = new RandomAccessFile(new File(sourcePath), "r");
inputChannel = inputStream.getChannel();
....
}
finally{
inputChannel.close();
inputStream .close();
}
new File(sourcePath).delete();
【问题讨论】:
-
您有任何异常吗?如果抛出异常,文件不会被删除,因为该语句在 try、catch、finally 块之外。