在 C# 中,你可以使用 FtpWebRequest 类来连接到 FTP 服务器,并使用 ListDirectoryDetails 方法来列出 FTP 目录的文件和文件夹。以下是一个示例代码,用于判断 FTP 上是否存在某个文件夹,如果不存在则创建它。

using System;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        string ftpUrl = "ftp://ftp.example.com/";
        string folderName = "folder";

        if (DirectoryExists(ftpUrl, folderName))
        {
            Console.WriteLine("Folder already exists.");
        }
        else
        {
            CreateDirectory(ftpUrl, folderName);
            Console.WriteLine("Folder created successfully.");
        }
    }

    static bool DirectoryExists(string ftpUrl, string folderName)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl + folderName);
        request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
        request.Credentials = new NetworkCredential("username", "password");

        try
        {
            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
            response.Close();
            return true;
        }
        catch (WebException ex)
        {
            FtpWebResponse response = (FtpWebResponse)ex.Response;
            if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)
            {
                response.Close();
                return false;
            }
            else
            {
                throw;
            }
        }
    }

    static void CreateDirectory(string ftpUrl, string folderName)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl + folderName);
        request.Method = WebRequestMethods.Ftp.MakeDirectory;
        request.Credentials = new NetworkCredential("username", "password");

        using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
        {
            Console.WriteLine($"Folder created successfully. Response: {response.StatusDescription}");
        }
    }
}

请注意,你需要将 ftpUrl 替换为你的 FTP 服务器的地址,以及将 folderName 替换为你要检查和创建的文件夹的名称。另外,你还需要提供有效的用户名和密码来进行 FTP 认证

C# 判断FTP上是否有某个文件夹没有则创建

原文地址: https://www.cveoy.top/t/topic/iR1l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录