C# 读写ftp服务器中的文件
在 C# 中,可以使用 `FtpWebRequest` 类来连接 FTP 服务器,读取并写入 FTP 服务器中的内容。以下是一个简单的示例:
using System.Net;
using System.IO;
// 建立FTP连接
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/file.txt");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("username", "password");
// 获取FTP响应
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
// 读取FTP服务器上的文件内容
Stream ftpStream = response.GetResponseStream();
StreamReader reader = new StreamReader(ftpStream);
string fileContent = reader.ReadToEnd();
// 关闭FTP连接和流
response.Close();
ftpStream.Close();
reader.Close();
// 在本地写入内容
using (FileStream fileStream = new FileStream("localfile.txt", FileMode.Create))
{
using (StreamWriter writer = new StreamWriter(fileStream))
{
writer.Write(fileContent);
}
}
// 将本地文件写入FTP服务器
request = (FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/file.txt");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("username", "password");
using (Stream fileStream = File.OpenRead("localfile.txt"))
{
using (Stream ftpStream = request.GetRequestStream())
{
fileStream.CopyTo(ftpStream);
}
}
// 关闭FTP连接
response.Close();
上述代码示例执行以下操作: 1. 建立到 FTP 服务器的连接,读取名称为 `file.txt` 的文件。 2. 将文件内容读取为字符串。 3. 将文件写入本地文件系统中的名为 `localfile.txt` 的文件中。 4. 将本地文件上传到 FTP 服务器。 有了这个模板,您可以更改代码以在FTP服务器上读取或写入文件,并根据需要进行适当的更改。