C# 检查ftp服务器上的文件

C# 检查ftp服务器上的文件,c#,ftp,ftpwebrequest,C#,Ftp,Ftpwebrequest,我发现很多关于检查ftp服务器上的文件是否存在的帖子。提供的代码都没有帮助。我正在尝试将小文件自动上载到ftp服务器,但如果文件已经存在,我不想覆盖该文件。如果文件已经存在,则以下代码可以工作,但如果文件不存在,则会返回一个错误,并且不会在if语句中运行代码 System.Console.WriteLine("check if hash file is on ftp server " + hashfile); string fileSize = ftpClient.getFileSize(has

我发现很多关于检查ftp服务器上的文件是否存在的帖子。提供的代码都没有帮助。我正在尝试将小文件自动上载到ftp服务器,但如果文件已经存在,我不想覆盖该文件。如果文件已经存在,则以下代码可以工作,但如果文件不存在,则会返回一个错误,并且不会在if语句中运行代码

System.Console.WriteLine("check if hash file is on ftp server " + hashfile);
string fileSize = ftpClient.getFileSize(hashfile);
int fSize =-1;
bool res = (Int32.TryParse(fileSize, out fSize));
if (res)
{
    System.Console.WriteLine("Hash file is not on ftp server " + hashfile);
    ftpClient.upload(hashfile, @hashfile);
    ftpClient.upload(charfile, @charfile);
    File.Delete(hashfile);
    File.Delete(charfile);
}
else
{
    System.Console.WriteLine("Hash file is on ftp server " + hashfile);
    string newHashFile = "ntlmhash" + str_cint + "_" + str_pint + "_" + e + ".txt";
    while (File.Exists(newHashFile))
    {
        e++;
        newHashFile = "ntlmhash" + str_cint + "_" + str_pint + "_" + e + ".txt";
        string FileSize = ftpClient.getFileSize(newHashFile);
        int FSize =-1;
        if (Int32.TryParse(FileSize, out FSize))
        {
            ftpClient.upload(newHashFile, @newHashFile);
            ftpClient.upload(charfile, @charfile);
            File.Delete(newHashFile);
            File.Delete(charfile);
        }
        else
        {
            e++;
        }
    }
    System.IO.File.Move(hashfile, newHashFile);
    ftpClient.upload(newHashFile, @newHashFile);
    ftpClient.upload(charfile, @charfile);
    File.Delete(newHashFile);
    File.Delete(charfile);
}

你可以在这里找到答案,我试过了,但不起作用。它可能会告诉我该文件是否存在,但我如何才能运行循环来重命名该文件并再次检查它?您可以关闭此票证。我使用日期时间刻度来确保ftp服务器上没有重复的文件。