file.txt
次のコードは、 からという名前のファイルSFTP remote server
をlocal machine
.
sftp.Get("/usr/mine/file.txt" , "C:/Folder/");
私がやりたいことは、ファイルfile.txt
がに存在するかどうかを確認することですremote server
。このチェックを行うにはどうすればよいですか。ヘルプ
私は使っているSharpSSH
小さなヒットを取り、ファイルのダウンロードを試みることを検討できます。存在しない場合は、例外がスローされ、それをキャッチして先に進むことができます。ファイルの存在の確認は不安定な状況であるため、ほとんどの場合、アクションを試して実行することをお勧めします。
これでうまくいくはずです。
using (var sftp = new SftpClient(host, username, password))
{
try
{
sftp.Connect();
MessageBox.Show(sftp.Exists(remoteDirectory).ToString());
}
catch (Exception Sftpex)
{
MessageBox.Show(Sftpex.ToString());
}
}
.GetFileList を使用して値を ArrayList に読み込み、各値をループしてファイル名をリスト ボックスに追加することでこれを行っています。次に、リスト ボックスに対して入力ファイルをチェックし、存在するかどうかを確認します。以下のサンプル コードは、.GetFileList 値を ArrayList に追加してからリスト ボックスに追加します。
ところで-これはVB.NETです:)
Dim InputFileList As ArrayList = oSftp.GetFileList(frmOptions.tbFTPInboundFolder.Text)
For Each f In InputFileList
If f.ToString() <> "." AndAlso f.ToString <> ".." Then
frmMain.lbFTPInputDirectory.Items.Add(f)
End If
Next