SharpSSH を使用して、ローカル ディレクトリから SFTP に zip ファイルをアップロードしています。すべて正常に動作します。ただし、アップロードしたばかりの現在のファイルのファイルサイズを取得したいと思います。私がこれを行っている理由は、zip ファイルが大きいため (45 GB から 80 GB まで)、アップロード中に失敗したりスタックしたりしないようにしたいからです。zip全体がアップロードされていることを確認したい。
次のように、ローカル zip ファイルのファイル サイズを取得できます。
DirectoryInfo di = new DirectoryInfo(yesterdaysArchiveFolder);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
Console.WriteLine("Size of the zip file: " + f.Length);
}
ここで、アップロードが完了した後、SFTP にアップロードしたばかりのファイルに対して同じことを行いたいと考えています。
アップロードしたばかりのファイルの名前がわかっているのでArrayList
、SFTP からファイルを作成して配置します。次に、for loop
アップロードしたばかりのファイルを取得するために使用します。
ArrayList FileList = oSftp.GetFileList(_ftpDirectory);
int count = FileList.Count;
Console.WriteLine("Files in SFTP: " + count);
for (int i = 0; i < FileList.Count; i++)
{
if (zipFileName == FileList[i].ToString())
{
Console.WriteLine(FileList[i]);
}
}
問題は、.Length
そのファイルのファイル サイズを取得するようなプロパティがないことですか?
リモート サーバー内のファイルのファイル サイズを調べるために使用できる別の方法はありますか?