我必须在SFTP位置将多个文件从文件夹A移动到B.我在java中使用Jsch库。目前,我的实现是通过调用下面定义的 move 方法逐个完成的。
我们可以一次性传输它,因为我已经有了所有源文件路径 - 这将更有效,而不是来回的多个IO通信。
class Lease(models.Model):
DUID_text = models.CharField(max_length=100)
addr_text = models.CharField(max_length=100)
pub_date = models.CharField(max_length=100)
e_date = models.CharField(max_length=100)
prefix = models.CharField(max_length=100)
addr_cut = models.CharField(max_length=100)
addr_end = models.CharField(max_length=100)
def __str__(self):
return self.addr_cut
class Sub(models.Model):
Name = models.CharField(max_length=100)
subnet = models.CharField(max_length=100)
rang = models.CharField(max_length=100)
prefix = models.CharField(max_length=100)
range_low_cut = models.CharField(max_length=100)
range_low_end = models.CharField(max_length=100)
range_high_cut = models.CharField(max_length=100)
range_high_end = models.CharField(max_length=100)
def __str__(self):
return self.range_low_cut
答案 0 :(得分:0)
SFTP协议中没有批量移动操作。所以没有办法实现你的要求。
但你应该重用ChannelSftp
。无需为每个移动请求打开和关闭它。实际上,您甚至可以为每个请求打开/关闭整个SFTP连接。
我半年前已经在你对Getting session and SFTP channel in Java using JSch library的答案中提到了你的实际建议,你甚至不打算回答。