我正在重建系统监视器应用程序的FTP部分,必须能够下载任何文件:
当我尝试设置该掩码时,它返回0个文件,但是如果我只选择其中一个,它就能完美运行。
for(String stringEx : map.getValue()){
System.Out.Println(stringEx);
}
我尝试了几件事,没有任何东西像我想要的那样工作。
答案 0 :(得分:1)
mask
argument of Session.EnumerateRemoteFiles
是Windows通配符。没有办法将多个扩展名与Windows通配符匹配。
但您可以自己过滤文件。例如,使用正则表达式:
Regex mask = new Regex(@"\.(csv|xls|xlsx)$", RegexOptions.IgnoreCase);
List <string> files =
session.EnumerateRemoteFiles("/", null, EnumerationOptions.AllDirectories)
.Where(fileInfo => mask.Match(fileInfo.Name).Success)
.Select(fileInfo => fileInfo.FullName)
.ToList();