SRy*_*SRy 8 java directory jsch
如何在使用JSCH SFTP API创建新目录之前检查目录是否存在?我正在尝试使用,lstat但不确定它是否正在完成我需要的工作.谢谢你提前
abi*_*964 13
这是我在JSch中检查目录存在的方式.
如果dir存在,则创建目录
ChannelSftp channelSftp = (ChannelSftp)channel;
String currentDirectory=channelSftp.pwd();
String dir="abc";
SftpATTRS attrs=null;
try {
attrs = channelSftp.stat(currentDirectory+"/"+dir);
} catch (Exception e) {
System.out.println(currentDirectory+"/"+dir+" not found");
}
if (attrs != null) {
System.out.println("Directory exists IsDir="+attrs.isDir());
} else {
System.out.println("Creating dir "+dir);
channelSftp.mkdir(dir);
}
Run Code Online (Sandbox Code Playgroud)
use*_*421 10
在这种情况下,最好只创建并处理错误.这样操作就是原子操作,而在SSH的情况下,你也节省了大量的网络流量.如果您先进行测试,则会出现一个时间窗口,在此期间情况可能会发生变化,您无论如何都必须处理错误结果.
| 归档时间: |
|
| 查看次数: |
18162 次 |
| 最近记录: |