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/qx02 著作权归作者所有。请勿转载和采集!