大家好我是新手 请教个问题
socket我想把对方我的电脑上的磁盘和文件 一起发送到服务端的 一个TreeView控件中显示 ,就是我不知道如何发送 和接受应为层次结构太多了 请大家帮我写下,困扰我了很久
谢谢大家了 --------------------编程问答-------------------- 请大家帮我写下
看到这里,我有掐死你的冲动 --------------------编程问答-------------------- 你的问题也太大了吧 --------------------编程问答--------------------
冲动是魔鬼~~~ --------------------编程问答-------------------- 程序员是不会这么问的 --------------------编程问答-------------------- …… --------------------编程问答--------------------
冲动害死猫 --------------------编程问答-------------------- 这个你没必要把文件大小这些都传送,你值需要传送文件名即可。在服务器端再根据文件名在系统里查找图标显示。
以前写个这样的代码,只不过现在忘了。我大概是这么做的。
1. 先传磁盘号过去:c,d,e
2. 双击了磁盘号再去你的电脑查询相应的磁盘下的文件和文件夹。
3. 以此类推,每次在服务器请求了目录就去你电脑查询后返回 --------------------编程问答-------------------- 这个你没必要把文件大小这些都传送,你值需要传送文件名即可。在服务器端再根据文件名在系统里查找图标显示。
以前写个这样的代码,只不过现在忘了。我大概是这么做的。
1. 先传磁盘号过去:c,d,e
2. 双击了磁盘号再去你的电脑查询相应的磁盘下的文件和文件夹。
3. 以此类推,每次在服务器请求了目录就去你电脑查询后返回 --------------------编程问答-------------------- 严格来说是发送文件列表吧,磁盘文件发过去那不是硬盘对考啊!
文件目录拷贝有如下代码(这个是本机文件遍历拷贝)可以获得目录下所有文件名,至于创建树目录,建立一个树形控件后遍历添加节点就可以了!
public static void CopyDirectory(string srcDir, string tgtDir, CopyType copytype)
{
DirectoryInfo source = new DirectoryInfo(srcDir);
DirectoryInfo target = new DirectoryInfo(tgtDir);
if (target.FullName.StartsWith(source.FullName, StringComparison.CurrentCultureIgnoreCase))
{
throw new Exception("父目录不能拷贝到子目录!");
}
if (!source.Exists)
{
return;
}
if (!target.Exists)
{
target.Create();
}
FileInfo[] files = source.GetFiles();
for (int i = 0; i < files.Length; i++)
{
File.Copy(files[i].FullName, target.FullName + @"\" + files[i].Name, true);
if (copytype == CopyType.cutToo)
{
File.Delete(files[i].FullName);
}
Thread.Sleep(5);
// Application.DoEvents();
}
DirectoryInfo[] dirs = source.GetDirectories();
for (int j = 0; j < dirs.Length; j++)
{
CopyDirectory(dirs[j].FullName, target.FullName + @"\" + dirs[j].Name, copytype);
}
} --------------------编程问答-------------------- 好牛X... --------------------编程问答-------------------- 这里是解决问题的地方,为什么都是直接要代码 --------------------编程问答--------------------
每天都在想杀人和忍住不杀中徘徊。。。。
补充:.NET技术 , C#