サーバからSSH.NETを使用して1つのファイルのみをダウンロードしようとしています。SSH.NETを使用してSFTPサーバから特定のファイルを1つダウンロードしてください。
using Renci.SshNet;
using Renci.SshNet.Common;
...
public void DownloadFile(string str_target_dir)
{
client.Connect();
if (client.IsConnected)
{
var files = client.ListDirectory(@"/home/xymon/data/hist");
foreach (SftpFile file in files)
{
if (file.FullName== @"/home/xymon/data/hist/allevents")
{
using (Stream fileStream = File.OpenWrite(Path.Combine(str_target_dir, file.Name)))
{
client.DownloadFile(file.FullName, fileStream);
}
}
}
}
else
{
throw new SshConnectionException(String.Format("Can not connect to {0}@{1}",username,host));
}
}
私の問題私は、文字列@"/home/xymon/data/hist/allevents"
でSftpFile
を構築する方法がわからないということです。
は、これまでのところ私は、これは持っています。
なぜ、私はforeach
ループを条件に使用するのですか?
ありがとうございました。