C# 怎么移动文件 求代码

我想用C#代码实现电脑本地文件的转移,移动,不知道代码怎么写。或者能给我指引个方向也好,谢谢。追加分!最好能给个完整的程序,可运行的。... 我想用C#代码实现 电脑本地文件的转移,移动,不知道代码怎么写。或者能给我指引个方向也好,谢谢。追加分!
最好能给个完整的程序,可运行的。
展开
 我来答
慎重还可靠灬宝贝f
2015-10-27 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2607万
展开全部

C#追加文件
    StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
    sw.WriteLine("追逐理想");
    sw.WriteLine("kzlll");
    sw.WriteLine(".NET笔记");
    sw.Flush();
    sw.Close();
C#拷贝文件
    string OrignFile,NewFile;
    OrignFile = Server.MapPath(".")+"\\myText.txt";
    NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Copy(OrignFile,NewFile,true);
C#删除文件
    string delFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Delete(delFile);
C#移动文件
    string OrignFile,NewFile;
    OrignFile = Server.MapPath(".")+"\\myText.txt";
    NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Move(OrignFile,NewFile);
C#创建目录
// 创建目录c:\sixAge
    DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge"悉清渣);
// d1指向c:\sixAge\sixAge1
    DirectoryInfo d1=d.CreateSubdirectory("sixAge1");
// d2指向c:\sixAge\sixAge1\sixAge1_1
    DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");
// 将当前目录设为c:\sixAge
    Directory.SetCurrentDirectory("c:\\sixAge");
// 创建目录c:\sixAge\sixAge2
    Directory.CreateDirectory("sixAge2");
// 创建目录c:\sixAge\sixAge2\sixAge2_1
    Directory.CreateDirectory("sixAge2\\sixAge2_1");
递归删除文件夹及文件
〈%@PageLanguage=C#%〉 
〈%@Importnamespace="System.IO"%〉 
〈Scriptrunat=server〉 
publicvoidDeleteFolder(stringdir) 

if(Directory.Exists(dir))//如果 
存在这个文件夹删除之 

foreach(stringdinDirectory. 
GetFileSystemEntries(dir)) 

if(File.Exists(d)) 
File.Delete(d);//直接删除其中的文件 
else 
DeleteFolder(d);//递归删除子文件夹 

Directory.Delete(dir);//删除已空文件夹 
Response.Write(dir+"文件夹删除成正桥功"); 

else 
Response.Write(dir+"该文件夹不存在");//如果 
文件夹不存在则提示 

protectedvoidPage_Load(Object 
sender,EventArgse) 

stringDir="D:\\gbook\\11"; 
DeleteFolder(Dir);//调用函数删除文件夹 



//======================================== 
//实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面 
//如果目标文件夹为只读属性就会报错。
//======================================== 
publicstaticvoidCopyDir(stringsrcPath, 
stringaimPath) 

try 

//检查目标目录是否以目录分割字 
符结束如果不是则添加之 
if(aimPath[aimPath.Length-1]!= 睁悄Path.DirectorySeparatorChar) 
aimPath+=Path.DirectorySeparatorChar; 
//判断目标目录是否存在如果不存在则新建之 
if(!Directory.Exists(aimPath))Directory.CreateDirectory(aimPath); 
//得到源目录的文件列表, 
该里面是包含文件以及目录路径的一个数组 
//如果你指向copy目标文件下面的文件 
而不包含目录请使用下面的方法 
//string[]fileList=Directory.GetFiles(srcPath); 
string[]fileList=Directory.GetFileSystemEntries(srcPath); 
//遍历所有的文件和目录 
foreach(stringfileinfileList) 

//先当作目录处理如果存在这个 
目录就递归Copy该目录下面的文件 
if(Directory.Exists(file)) 
CopyDir(file,aimPath+Path.GetFileName(file)); 
//否则直接Copy文件 
else 
File.Copy(file,aimPath+Path.GetFileName(file),true); 


catch(Exceptione) 

MessageBox.Show(e.ToString()); 


//======================================== 
//实现一个静态方法将指定文件夹下面的所有内容Detele 
//测试的时候要小心操作,删除之后无法恢复。 
//======================================== 
publicstaticvoidDeleteDir(stringaimPath) 

try 

//检查目标目录是否以目录分割字 
符结束如果不是则添加之 
if(aimPath[aimPath.Length-1]!= 
Path.DirectorySeparatorChar) 
aimPath+=Path.DirectorySeparatorChar; 
//得到源目录的文件列表, 
该里面是包含文件以及目录路径的一个数组 
//如果你指向Delete目标文件下面的 
文件而不包含目录请使用下面的方法 
//string[]fileList= 
Directory.GetFiles(aimPath); 
string[]fileList= 
Directory.GetFileSystemEntries(aimPath); 
//遍历所有的文件和目录 
foreach(stringfileinfileList) 

//先当作目录处理如果存在这个 
目录就递归Delete该目录下面的文件 
if(Directory.Exists(file)) 

DeleteDir(aimPath+Path.GetFileName(file)); 

//否则直接Delete文件 
else 

File.Delete(aimPath+Path.GetFileName(file)); 


//删除文件夹 
System.IO.Directory.Delete(aimPath,true); 

catch(Exceptione) 

MessageBox.Show(e.ToString()); 



需要引用命名空间: 
usingSystem.IO; 
///〈summary〉 
///拷贝文件夹(包括子文件夹)到指定文件夹下, 
源文件夹和目标文件夹均需绝对路径. 
格式:CopyFolder(源文件夹,目标文件夹); 
///〈/summary〉 
///〈paramname="strFromPath"〉〈/param〉 
///〈paramname="strToPath"〉〈/param〉 

//---------------------------------------- 



//---------------------------------------- 
publicstaticvoidCopyFolder(stringstrFromPath, 
stringstrToPath) 

//如果源文件夹不存在,则创建 
if(!Directory.Exists(strFromPath)) 

Directory.CreateDirectory(strFromPath); 


//取得要拷贝的文件夹名 
stringstrFolderName=strFromPath.Substring( 
strFromPath.LastIndexOf("\")+1,strFromPath. 
Length-strFromPath.LastIndexOf("\")-1); 

//如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹 
if(!Directory.Exists(strToPath+"\" 
+strFolderName)) 

Directory.CreateDirectory(strToPath+"\" 
+strFolderName); 

//创建数组保存源文件夹下的文件名 
string[]strFiles=Directory.GetFiles(strFromPath); 

//循环拷贝文件 
for(inti=0;i〈strFiles.Length;i++) 

//取得拷贝的文件名,只取文件名,地址截掉。 
stringstrFileName=strFiles[i].Substring( 
strFiles[i].LastIndexOf("\")+1, 
strFiles[i].Length-strFiles[i]. 
LastIndexOf("\")-1); 
//开始拷贝文件,true表示覆盖同名文件 
File.Copy(strFiles[i],strToPath+"\" 
+strFolderName+"\"+strFileName,true); 


//创建DirectoryInfo实例 
DirectoryInfodirInfo=newDirectoryInfo( 
strFromPath); 
//取得源文件夹下的所有子文件夹名称 
DirectoryInfo[]ZiPath=dirInfo.GetDirectories(); 
for(intj=0;j〈ZiPath.Length;j++) 

//获取所有子文件夹名 
stringstrZiPath=strFromPath+"\"+ 
ZiPath[j].ToString(); 
//把得到的子文件夹当成新的源文件夹, 
从头开始新一轮的拷贝 
CopyFolder(strZiPath,strToPath+"\"+ 
strFolderName); 






C#文件操作:读取文本文件
1/// 〈summary〉 
2/// 读取文本文件 
3/// 〈/summary〉 
4private void ReadFromTxtFile() 
5{ 
6 if(filePath.PostedFile. 
FileName != "") 
7 { 
8 txtFilePath = 
filePath.PostedFile.FileName; 
9 fileExtName = 
txtFilePath.Substring(txtFilePath. 
LastIndexOf(".")+1,3); 
10 
11 if(fileExtName !="txt" && 
fileExtName != "TXT") 
12 { 
13 Response.Write("请选择文本文件"); 
14 } 
15 else 
16 { 
17 StreamReader fileStream = 
new StreamReader(txtFilePath,Encoding.Default); 
18 txtContent.Text = fileStream.ReadToEnd(); 
19 fileStream.Close(); 
20 } 
21 } 
22 } 
C#文件操作:获取文件列表
1/// 〈summary〉 
2/// 获取文件列表 
3/// 〈/summary〉 
4private void GetFileList() 
5{ 
6 string strCurDir,FileName,FileExt; 

8 ///文件大小 
9 long FileSize; 
10 
11 ///最后修改时间; 
12 DateTime FileModify; 
13 
14 ///初始化 
15 if(!IsPostBack) 
16 { 
17 ///初始化时,默认为当前页面所在的目录 
18 strCurDir = Server.MapPath("."); 
19 lblCurDir.Text = strCurDir; 
20 txtCurDir.Text = strCurDir; 
21 } 
22 else 
23 { 
24 strCurDir = txtCurDir.Text; 
25 txtCurDir.Text = strCurDir; 
26 lblCurDir.Text = strCurDir; 
27 } 
28 FileInfo fi; 
29 DirectoryInfo dir; 
30 TableCell td; 
31 TableRow tr; 
32 tr = new TableRow(); 
33 
34 ///动态添加单元格内容 
35 td = new TableCell(); 
36 td.Controls.Add(new LiteralControl( 
"文件名")); 
37 tr.Cells.Add(td); 
38 td = new TableCell(); 
39 td.Controls.Add(new LiteralControl( "文件类型")); 
40 tr.Cells.Add(td); 
41 td = new TableCell(); 
42 td.Controls.Add(new LiteralControl( "文件大小")); 
43 tr.Cells.Add(td); 
44 td = new TableCell(); 
45 td.Controls.Add(new LiteralControl( "最后修改时间")); 
46 tr.Cells.Add(td); 
47 
48 tableDirInfo.Rows.Add(tr); 
49 
50 ///针对当前目录建立目录引用对象 
51 DirectoryInfo dirInfo = new DirectoryInfo( txtCurDir.Text); 
52 
53 ///循环判断当前目录下的文件和目录 
54 foreach(FileSystemInfo fsi in dirInfo. 
GetFileSystemInfos()) 
55 { 
56 FileName = ""; 
57 FileExt = ""; 
58 FileSize = 0; 
59 
60 ///如果是文件 
61 if(fsi is FileInfo) 
62 { 
63 fi = (FileInfo)fsi; 
64 
65 ///取得文件名 
66 FileName = fi.Name; 
67 
68 ///取得文件的扩展名 
69 FileExt = fi.Extension; 
70 
71 ///取得文件的大小 
72 FileSize = fi.Length; 
73 
74 ///取得文件的最后修改时间 
75 FileModify = fi.LastWriteTime; 
76 } 
77 
78 ///否则是目录 
79 else 
80 { 
81 dir = (DirectoryInfo)fsi; 
82 
83 ///取得目录名 
84 FileName = dir.Name; 
85 
86 ///取得目录的最后修改时间 
87 FileModify = dir.LastWriteTime; 
88 
89 ///设置文件的扩展名为"文件夹" 
90 FileExt = "文件夹"; 
91 } 
92 
93 ///动态添加表格内容 
94 tr = new TableRow(); 
95 td = new TableCell(); 
96 td.Controls.Add(new LiteralControl( FileName)); 
97 tr.Cells.Add(td); 
98 td = new TableCell(); 
99 td.Controls.Add(new LiteralControl( FileExt)); 
100 tr.Cells.Add(td); 
101 td = new TableCell(); 
102 td.Controls.Add(new LiteralControl( FileSize.ToString()+"字节")); 
103 tr.Cells.Add(td); 
104 td = new TableCell(); 
105 td.Controls.Add(new LiteralControl( FileModify.ToString("yyyy-mm-dd hh:mm:ss"))); 
106 tr.Cells.Add(td); 
107 tableDirInfo.Rows.Add(tr); 
108 } 
109} 
C#文件操作:读取日志文件
1/// 〈summary〉 
2/// 读取日志文件 
3/// 〈/summary〉 
4private void ReadLogFile() 
5{ 
6 ///从指定的目录以打 开或者创建的形式读取日志文件 
7 FileStream fs = 
new FileStream(Server.MapPath("upedFile" 
)+"\\logfile.txt", FileMode.OpenOrCreate, 
FileAccess.Read); 

9 ///定义输出字符串 
10 StringBuilder output = new StringBuilder(); 
11 
12 ///初始化该字符串的长度为0 
13 output.Length = 0; 
14 
15 ///为上面创建的文件流创建读取数据流 
16 StreamReader read = new StreamReader(fs); 
17 
18 ///设置当前流的起始位置为文件流的起始点 
19 read.BaseStream.Seek(0, SeekOrigin.Begin); 
20 
21 ///读取文件 
22 while (read.Peek() 〉 -1) 
23 { 
24 ///取文件的一行内容并换行 
25 output.Append(read.ReadLine() + "\n"); 
26 } 
27 
28 ///关闭释放读数据流 
29 read.Close(); 
30 
31 ///返回读到的日志文件内容 
32 return output.ToString(); 


  
百度网友94f02eb
2009-03-28 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4477万
展开全部
DirectoryInfo di = new DirectoryInfo(@"路径森搏"锋春渣);

foreach (FileInfo fi in di.GetFiles())//可以用 di.GetFiles("*.jpg") 只移动jpg文件
{
//执行银悄重命名
fi.MoveTo("新的路径");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凤青非g
2009-03-28 · TA获得超过242个赞
知道答主
回答量:95
采纳率:20%
帮助的人:49.9万
展开全部
你是要这个吗:
File.Move(fileName, desFileName);
Directory.Move(dirName, desDirName);
这个可能是.net framework 3.5或逗晌者厅指正3.0里的(貌似是,2.0可能没扮悔有)
当然,移动的时候会遇到文件正在使用等等异常,要处理下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
定复2d
2009-03-29 · TA获得超过3196个赞
知道大有可为答主
回答量:2052
采纳率:0%
帮助的人:1930万
展开全部
要是还是不懂就问我吧

File.Move(fileName, desFileName);
Directory.Move(dirName, desDirName);
2.0里都有的
我过去用VS2005的时候都用过

但是,这个有个局限,File.Move一次移动一个文件
而Directory.Move 方法
将文件或目录及其内容移到新位置。

这样就没有办察大法获取我们想移动的某种格式的文件了
如何是好?

原来高人已经回答了特定液铅格式文件闹没好移动的例子了····
参考δCat 的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式