C#实现的简单ftp客户端
2010-08-07 17:48
447 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace ftpApp
{
public partial class Form1 : Form
{
FtpWebRequest request;
FtpWebResponse response;
string fileName="";
StreamReader reader;
public Form1()
{
InitializeComponent();
}
private void okBtn_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void conBtn_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
request=(FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("ftpuser","ftpuser");
response = (FtpWebResponse)request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string filelist=reader.ReadToEnd();
string[] list = filelist.Split(new char[]{'/r','/n'},StringSplitOptions.RemoveEmptyEntries);
foreach (string i in list)
{
listBox1.Items.Add(i);
}
reader.Close();
response.Close();
}
private void downBtn_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItem == null)
{
MessageBox.Show("请选择一个文件");
return;
}
fileName = (string)listBox1.SelectedItem.ToString();
string url = "D:/" + fileName;
if (File.Exists(url))
{
if (MessageBox.Show("本地已经存在" + fileName + ",点击确定覆盖。", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
{
return;
}
}
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/"+fileName);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);
StreamWriter writer=new StreamWriter(url);
writer.Write(reader.ReadToEnd());
writer.Close();
reader.Close();
MessageBox.Show(fileName + "下载完毕.");
//string[] list = fileName.Split('/n');
//string url = "D://" + fileName;
//writer = new StreamWriter(url);
//writer.Write(reader.ReadToEnd());
}
private void upBtn_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
{
return;
}
else
{
fileName = openFileDialog1.SafeFileName;
}
if (listBox1.Items.Contains(fileName) == true)
{
if (MessageBox.Show("服务器上已经存在" + fileName + ",点击确定覆盖", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
{
return;
}
}
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/" + fileName);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
reader = new StreamReader(fileName);
byte[] fileContents = Encoding.UTF8.GetBytes(reader.ReadToEnd());
reader.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents,0,fileContents.Length);
requestStream.Close();
listBox1.Items.Clear();
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
response = (FtpWebResponse)request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string filelist = reader.ReadToEnd();
string[] list = filelist.Split(new char[] { '/r', '/n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string i in list)
{
listBox1.Items.Add(i);
}
reader.Close();
MessageBox.Show(fileName+"已经上传至服务器。");
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace ftpApp
{
public partial class Form1 : Form
{
FtpWebRequest request;
FtpWebResponse response;
string fileName="";
StreamReader reader;
public Form1()
{
InitializeComponent();
}
private void okBtn_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void conBtn_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
request=(FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("ftpuser","ftpuser");
response = (FtpWebResponse)request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string filelist=reader.ReadToEnd();
string[] list = filelist.Split(new char[]{'/r','/n'},StringSplitOptions.RemoveEmptyEntries);
foreach (string i in list)
{
listBox1.Items.Add(i);
}
reader.Close();
response.Close();
}
private void downBtn_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItem == null)
{
MessageBox.Show("请选择一个文件");
return;
}
fileName = (string)listBox1.SelectedItem.ToString();
string url = "D:/" + fileName;
if (File.Exists(url))
{
if (MessageBox.Show("本地已经存在" + fileName + ",点击确定覆盖。", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
{
return;
}
}
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/"+fileName);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);
StreamWriter writer=new StreamWriter(url);
writer.Write(reader.ReadToEnd());
writer.Close();
reader.Close();
MessageBox.Show(fileName + "下载完毕.");
//string[] list = fileName.Split('/n');
//string url = "D://" + fileName;
//writer = new StreamWriter(url);
//writer.Write(reader.ReadToEnd());
}
private void upBtn_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
{
return;
}
else
{
fileName = openFileDialog1.SafeFileName;
}
if (listBox1.Items.Contains(fileName) == true)
{
if (MessageBox.Show("服务器上已经存在" + fileName + ",点击确定覆盖", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
{
return;
}
}
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/" + fileName);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
reader = new StreamReader(fileName);
byte[] fileContents = Encoding.UTF8.GetBytes(reader.ReadToEnd());
reader.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents,0,fileContents.Length);
requestStream.Close();
listBox1.Items.Clear();
request = (FtpWebRequest)WebRequest.Create("ftp://192.168.4.152/");
request.Method = WebRequestMethods.Ftp.ListDirectory;
request.Credentials = new NetworkCredential("ftpuser", "ftpuser");
response = (FtpWebResponse)request.GetResponse();
reader = new StreamReader(response.GetResponseStream());
string filelist = reader.ReadToEnd();
string[] list = filelist.Split(new char[] { '/r', '/n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string i in list)
{
listBox1.Items.Add(i);
}
reader.Close();
MessageBox.Show(fileName+"已经上传至服务器。");
}
}
}
相关文章推荐
- c#实现的一个简单的FTP客户端
- c#实现的一个简单的FTP客户端
- Unity使用C#实现简单Scoket连接及服务端与客户端通讯
- Linux搭建FTP服务器、配置和实现简单通过客户端连接的例子
- python实现简单ftp客户端的方法
- C#实现FTP客户端的案例
- Midapex网络开发库v2.2(更新主题:使用C#实现的FTP客户端)
- C#使用socket实现FTP、POP3、SMTP的客户端 (二)
- 使用socket实现简单的客户端和服务端通信(C#语言)
- [C# 网络编程系列]专题十二:实现一个简单的FTP服务器
- C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)
- ASIO学习三:asioftp (FTP客户端的简单实现)
- python实现简单ftp客户端的方法
- Golang实现一个简单的FTP客户端
- [C# 网络编程系列]专题十二:实现一个简单的FTP服务器
- ftp客户端的简单实现
- 网络编程--ftp客户端的实现(c#版)
- C#实现简单远程控制及桌面监控功能(客户端)
- [转贴]C#中的Ftp组件和简单的Ftp客户端
- 利用org.apache.commons.net.ftp包实现一个简单的ftp客户端实用类