C# 判断FTP上是否有某个文件夹没有则创建
在 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 认证
原文地址: https://www.cveoy.top/t/topic/iR1l 著作权归作者所有。请勿转载和采集!