社区
C#
帖子详情
如何拷贝文件(C#)
jonescheng
2004-03-22 05:09:58
我知道一个FTP的用户名和密码。
我如何编写程序实现
将本地电脑上的文件拷贝到FTP上去。
...全文
169
10
打赏
收藏
如何拷贝文件(C#)
我知道一个FTP的用户名和密码。 我如何编写程序实现 将本地电脑上的文件拷贝到FTP上去。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jonescheng
2004-03-24
打赏
举报
回复
没有关系阿!!呵呵,谢谢大家的关注
eTopFancy
2004-03-23
打赏
举报
回复
例子:
private void button1_Click(object sender, System.EventArgs e) {
//取得预保存的文件名
string fileName=textBox3.Text.Trim();
//远程主机
string hostName=textBox1.Text.Trim();
//端口
int port=Int32.Parse(textBox2.Text.Trim());
//得到主机信息
IPHostEntry ipInfo=Dns.GetHostByName(hostName);
//取得IPAddress[]
IPAddress[] ipAddr=ipInfo.AddressList;
//得到ip
IPAddress ip=ipAddr[0];
//组合出远程终结点
IPEndPoint hostEP=new IPEndPoint(ip,port);
//创建Socket 实例
Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
//尝试连接
socket.Connect(hostEP);
}
catch(Exception se)
{
MessageBox.Show("连接错误"+se.Message,"提示信息
,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//发送给远程主机的请求内容串
string sendStr="GET / HTTP/1.1\r\nHost: " + hostName +
"\r\nConnection: Close\r\n\r\n";
//创建bytes字节数组以转换发送串
byte[] bytesSendStr=new byte[1024];
//将发送内容字符串转换成字节byte数组
bytesSendStr=Encoding.ASCII.GetBytes(sendStr);
try
{
//向主机发送请求
socket.Send(bytesSendStr,bytesSendStr.Length,0);
}
catch(Exception ce)
{
MessageBox.Show("发送错误:"+ce.Message,"提示信息
,MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//声明接收返回内容的字符串
string recvStr="";
//声明字节数组,一次接收数据的长度为1024字节
byte[] recvBytes=new byte[1024];
//返回实际接收内容的字节数
int bytes=0;
//循环读取,直到接收完所有数据
while(true)
{
bytes=socket.Receive(recvBytes,recvBytes.Length,0);
//读取完成后退出循环
if(bytes<=0)
break;
//将读取的字节数转换为字符串
recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
}
//将所读取的字符串转换为字节数组
byte[] content=Encoding.ASCII.GetBytes(recvStr);
try
{
//创建文件流对象实例
FileStream fs=new FileStream(fileName,FileMode.OpenOrCreate,FileAccess.ReadWrite);
//写入文件
fs.Write(content,0,content.Length);
}
catch(Exception fe)
{
MessageBox.Show("文件创建/写入错误:"+fe.Message,"提示信息",MessageBoxButtons.RetryCancel,MessageBoxIcon.Information);
}
//禁用Socket
socket.Shutdown(SocketShutdown.Both);
//关闭Socket
socket.Close();
}
}
Silenthunter
2004-03-23
打赏
举报
回复
将文件转化成字节流,然后用Socket发送到服务器上去
同意 参考System.Net.Stocket System.Net 好像还有一个Client的静态方法可以参考 本人没有实现过 关注…………
jonescheng
2004-03-23
打赏
举报
回复
有没有好的解决办法。将本地文件上传到FTP上
不要告诉我用FTP软件。我是要写程序来实现这
个功能。
eTopFancy
2004-03-23
打赏
举报
回复
搂主的意思是如何上传文件吧?
runnercn
2004-03-23
打赏
举报
回复
将文件转化成字节流,然后用Socket发送到服务器上去。
jonescheng
2004-03-23
打赏
举报
回复
大伙帮帮忙阿!!在这里谢过了。。。
Silenthunter
2004-03-23
打赏
举报
回复
写完后看到楼上的回复 呵呵 班门弄斧了
Silenthunter
2004-03-23
打赏
举报
回复
using System;
using System.IO;
using System.Net;
using System.Threading;
using System.net.Sockets;
TcpListener tcpListener = new TcpListener(21) //监听21端口
tcpListener.Start();
Socket socketForClient = tcpListener.Accept(); //套接字连接
if (socketForClient.Connected)
{
NetworkStream networkStream = new NetWorkStream(SocketFoeClient);
System.IO.StreamWriter streamWriter = new System.IO.streamWriter(networkStream); 向这个流写入时 流将跨越网络发送给客户 实际程序我写不出来 (没有做过) 肯定要在一个线程中运行请求代码 而且还应该在try 代码快中封装 处理网络问题的逻辑
这种方法还要在客户端做一下TcpClient 的类 创建streamreader云云
}
superryu
2004-03-23
打赏
举报
回复
学习
C#
中
拷贝
文件
的N种方式
本文介绍了在
C#
中使用File.Copy、重载版本、FileInfo类、Stream、Path和Directory类以及异步方法进行
文件
拷贝
的不同方式,以及根据需求选择合适方法的建议。
C#
文件
拷贝
工具
本文介绍了用
C#
编写的
文件
拷贝
工具,可以自动从源
文件
夹复制指定后缀的
文件
到目标
文件
夹,支持多种重命名策略,如保留原
文件
、替换
文件
或保留并增加
文件
名。
C#
大
文件
拷贝
本文介绍了一种使用
C#
中的FileStream进行大
文件
分块
拷贝
的方法,通过不断读取和写入
文件
块来避免一次性加载整个
文件
到内存,从而解决了大
文件
拷贝
时内存占用过大的问题。同时,文章还展示了如何实时显示
拷贝
进度。
C#
文件
拷贝
的方法
该文介绍了在
C#
中实现
文件
拷贝
的三种方式:使用File.Copy方法,FileInfo.CopyTo方法以及通过FileStream读写实现。每种方法都涉及到判断目标路径是否存在及是否覆盖已存在
文件
的逻辑。,
C#
拷贝
文件
夹及
文件
本文详细介绍了
C#
中
文件
和目录的操作方法,包括
文件
的读取、复制、删除,目录的创建、复制、删除及
文件
夹内容的
拷贝
等。通过实例代码展示了如何在
C#
中进行
文件
和目录的高效管理。
C#
111,129
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章