我正在研究将Apache Commons VFS用于需要通过 ftp、sftp 和 https 在本地服务器和远程服务器之间传输文件的项目。
标准用法示例是从静态方法获取 FileSystemManager
FileSystemManager fsManager = VFS.getManager();
跨多个线程使用相同的 FileSystemManager 是否安全?
第二个问题是关于在 finally 块中正确释放资源:我在 Javadoc API 中找到了以下方法:
- http://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/FileObject.html#close()
- http://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/FileSystemManager.html#closeFileSystem(org.apache.commons.vfs2.FileSystem)
- http://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/FilesCache.html#close()
- http://commons.apache.org/proper/commons-vfs/apidocs/org/apache/commons/vfs2/impl/DefaultFileSystemManager.html#close()
但我不清楚这些资源中的哪些通常应该关闭。