哪个类可以实现文件的拷贝,粘贴,覆盖粘贴等功能

哈哈007哈 2004-04-26 02:17:21
哪个类可以实现文件的拷贝,粘贴,覆盖粘贴等功能
...全文
118 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Edwin380019813 2010-06-11
  • 打赏
  • 举报
回复
Clipboard.SetDataObject(str, true);
marvelstack 2004-04-26
  • 打赏
  • 举报
回复
下面是我写的一个类的其中几个方法,供楼主参考。

using System;
using System.IO;
using System.Xml;
using System.Text;

namespace ZZ

......
/// <summary>
/// 复制指定目录的所有文件
/// </summary>
/// <param name="sourceDir">原始目录</param>
/// <param name="targetDir">目标目录</param>
/// <param name="overWrite">如果为true,覆盖同名文件,否则不覆盖</param>
/// <param name="copyDir">如果为true,包含目录,否则不包含</param>
public static void CopyFiles(string sourceDir,string targetDir,bool overWrite,bool copyDir)
{
string [] fileEntries = Directory.GetFiles(sourceDir);
if(overWrite)
{
foreach(string fileName in fileEntries)
{
File.Copy(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")),true);
//Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
}
}
else
{
foreach(string fileName in fileEntries)
{
if(!File.Exists(targetDir+fileName.Substring(fileName.LastIndexOf("\\"))))
{
File.Copy(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
//Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
}
}
}
if(copyDir)
{
foreach(string subDir in Directory.GetDirectories(sourceDir))
{
string newSubDir = targetDir+subDir.Substring(subDir.LastIndexOf("\\"));
if(!Directory.Exists(newSubDir))
Directory.CreateDirectory(newSubDir);
CopyFiles(subDir,newSubDir,overWrite,copyDir);
}
}
}
/// <summary>
/// 剪切指定目录的所有文件
/// </summary>
/// <param name="sourceDir">原始目录</param>
/// <param name="targetDir">目标目录</param>
/// <param name="overWrite">如果为true,覆盖同名文件,否则不覆盖</param>
/// <param name="moveDir">如果为true,包含目录,否则不包含</param>
public static void MoveFiles(string sourceDir,string targetDir,bool overWrite,bool moveDir)
{
string [] fileEntries = Directory.GetFiles(sourceDir);
if(overWrite)
{
foreach(string fileName in fileEntries)
{
if(File.Exists(targetDir+fileName.Substring(fileName.LastIndexOf("\\"))))
File.Delete(targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
File.Move(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
//Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
}
}
else
{
foreach(string fileName in fileEntries)
{
if(!File.Exists(targetDir+fileName.Substring(fileName.LastIndexOf("\\"))))
{
File.Move(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
//Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
}
}
}
if(moveDir)
{
foreach(string subDir in Directory.GetDirectories(sourceDir))
{
string newSubDir = targetDir+subDir.Substring(subDir.LastIndexOf("\\"));
if(!Directory.Exists(newSubDir))
Directory.CreateDirectory(newSubDir);
MoveFiles(subDir,newSubDir,overWrite,moveDir);
Directory.Delete(subDir);
}
}
}

/// <summary>
/// 删除指定目录的所有文件
/// </summary>
/// <param name="targetDir">操作目录</param>
/// <param name="delSubDir">如果为true,包含目录,否则不包含</param>
public static void DeleteFiles(string targetDir,bool delSubDir)
{
foreach(string fileName in Directory.GetFiles(targetDir))
{
File.Delete(fileName);
//Console.WriteLine(fileName+" is deleted!");
}
if(delSubDir)
{
DirectoryInfo di = new DirectoryInfo(targetDir);
foreach(DirectoryInfo subDi in di.GetDirectories())
{
subDi.Delete(true);
//Console.WriteLine(subDi.FullName+" is deleted!");
}
}
}
哈哈007哈 2004-04-26
  • 打赏
  • 举报
回复
谢谢]
dahuzizyd 2004-04-26
  • 打赏
  • 举报
回复
http://www.csharphelp.com/archives3/archive551.html
shuhill 2004-04-26
  • 打赏
  • 举报
回复
System.IO .File.Copy(源文件名,目录文件名,是否Overwrite); '拷贝
System.IO.File.Delete(文件名); '删除

coudoufu 2004-04-26
  • 打赏
  • 举报
回复
ClipBoard
实现复制、粘贴、剪切这个比较好
haveaquestion 2004-04-26
  • 打赏
  • 举报
回复
[C#]
public static void Copy(
string sourceFileName,
string destFileName
);
chenyuming2004 2004-04-26
  • 打赏
  • 举报
回复
System.File类
里面有
Copy()
方法实现文件复制。
vcshcn 2004-04-26
  • 打赏
  • 举报
回复
file
哈哈007哈 2004-04-26
  • 打赏
  • 举报
回复
shuhill(蜀山幽狼) :能具体点吗!,谢谢
shuhill 2004-04-26
  • 打赏
  • 举报
回复
System.IO.FileInfo
System.IO

不知道要的是不是这个
greatsft 2004-04-26
  • 打赏
  • 举报
回复
是ClipBoard
比如有个menu_cut,menu_copy,menu_paste菜单
void menu_cut_click(object obj,EventArgs ea){
menu_copy_click(obj,ea);
str=""; //实现剪贴效果
}
void menu_copy_click(object obj,EventArgs ea){
Clipboard.SetDataObject(str,true); //设置剪贴板
}
void menu_paste_click(object obj,EventArgs ea){
IDataObject data=Clipboard.GetDataObject();
if(data.GetDataPresent(typeof(string))) //判断剪贴板中是否有string
str=(string)data.GetData(typeof(string));
}


wish u good luck
Greatsft
thinkingforever 2004-04-26
  • 打赏
  • 举报
回复
gz

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧