如何在JSch中使用正则表达式下载SFTP文件

时间:2016-08-26 02:59:53

标签: java regex sftp jsch

我在服务器上有很多名为:

的文件
static void CalculateK(uint nCount)
{
  uint kSum = 0;
  double kCalc = 0;
  double k = 1;
  for(int j=1;j<=nCount;j++)
  {
    kCalc = Convert.ToUInt32(Math.Ceiling((1000) * Math.Pow(Math.E, -k / 20)));
    fileOut.Write("{0,2}. {1,3} ", j, kCalc);
    kSum += Convert.ToUInt32(kCalc);
    k++;
  }
  fileOut.WriteLine();
  fileOut.WriteLine("Sum = {0,5:g}",kSum);
}

我想使用正则表达式找到最新的STMTPULL.160618_030020 O48PRMBATCH_170618_070209 O48PRMBATCH_160618_030106 STMTPOST.160618_030020

现在我只能下载带有实际文件名的文件。现在这还不够。

如何更改代码才能实现此功能?谢谢。

这是我的代码(代码已更新,工作正常):

O48PRMBATCH*

1 个答案:

答案 0 :(得分:0)

在JSch中没有下载与正则表达式匹配的文件的功能。

你必须自己编码。

  • 使用ChannelSftp.ls检索文件列表;
  • 迭代列表,查找与正则表达式匹配的文件;
  • 逐个下载匹配的文件。