我正在使用apache commons VFS将文件传输到sftp上的远程linux机器。
是否可以在传输之前检查远程机器的磁盘空间?我想仅在少于80%的磁盘空间已满时传输文件。
File file = new File(localFilePath);
if (!file.exists())
throw new RuntimeException("Error. Local file not found");
StandardFileSystemManager manager = new StandardFileSystemManager();
try {
manager.init();
// Create local file object
FileObject localFile = manager.resolveFile(file.getAbsolutePath());
// Create remote file object
FileObject remoteFile = manager.resolveFile(createConnectionString(hostName, username, password, remoteFilePath), createDefaultOptions());
// Copy local file to sftp server
remoteFile.copyFrom(localFile, Selectors.SELECT_SELF);
System.out.println("File upload success");
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
manager.close();
}
谢谢, 巴拉斯
答案 0 :(得分:0)
我有类似的要求。 这里有一个最简单的解决方案。 How to find disk space of remote linux machine using Java 看看这是否可以帮到你。