收藏 分销(赏)

C#文件操作大全.doc

上传人:xrp****65 文档编号:7660347 上传时间:2025-01-11 格式:DOC 页数:133 大小:279KB
下载 相关 举报
C#文件操作大全.doc_第1页
第1页 / 共133页
C#文件操作大全.doc_第2页
第2页 / 共133页
C#文件操作大全.doc_第3页
第3页 / 共133页
C#文件操作大全.doc_第4页
第4页 / 共133页
C#文件操作大全.doc_第5页
第5页 / 共133页
点击查看更多>>
资源描述

1、C#文件操作大全上一篇 / 下一篇 2010-05-07 10:23:27 / 个人分类:.net 查看( 1535 ) / 评论( 20 ) / 评分( 79 / 1 ) 1.创建文件夹/using System.IO;Directory.CreateDirectory(%1);2.创建文件/using System.IO;File.Create(%1);3.删除文件/using System.IO;File.Delete(%1);4.删除文件夹/using System.IO;Directory.Delete(%1);5.删除一个目录下所有的文件夹/using System.IO;fore

2、ach (string dirStr in Directory.GetDirectories(%1)DirectoryInfo dir = new DirectoryInfo(dirStr);ArrayList folders=new ArrayList();FileSystemInfo fileArr = dir.GetFileSystemInfos();for (int i = 0; i folders.Count; i+)FileInfo f = foldersi as FileInfo;if (f = null)DirectoryInfo d = foldersi as Directo

3、ryInfo;d.Delete();6.清空文件夹/using System.IO;Directory.Delete(%1,true);Directory.CreateDirectory(%1);7.读取文件/using System.IO;StreamReader s = File.OpenText(%1);string %2 = null;while (%2 = s.ReadLine() != null)%3s.Close();8.写入文件/using System.IO;FileInfo f = new FileInfo(%1);StreamWriter w = f.CreateText

4、();w.WriteLine(%2);w.Close();9.写入随机文件/using System.IO;byte dataArray = new byte100000;/new Random().NextBytes(dataArray);using(FileStream FileStream = new FileStream(%1, FileMode.Create)/ Write the data to the file, byte by byte.for(int i = 0; i dataArray.Length; i+)FileStream.WriteByte(dataArrayi);

5、/ Set the stream position to the beginning of the file.FileStream.Seek(0, SeekOrigin.Begin);/ Read and verify the data.for(int i = 0; i FileStream.Length; i+)if(dataArrayi != FileStream.ReadByte()/写入数据错误return;/数据流+FileStream.Name+已验证10.读取文件属性/using System.IO;FileInfo f = new FileInfo(%1);/f.Creatio

6、nTime,f.FullNameif(f.Attributes & FileAttributes.ReadOnly) != 0)%2else%311.写入属性/using System.IO;FileInfo f = new FileInfo(%1);/设置只读f.Attributes = myFile.Attributes | FileAttributes.ReadOnly;/设置可写f.Attributes = myFile.Attributes & FileAttributes.ReadOnly;12.枚举一个文件夹中的所有文件夹/using System.IO;foreach (str

7、ing %2 in Directory.GetDirectories(%1)%3/*DirectoryInfo dir = new DirectoryInfo(%1);FileInfo files = dir.GetFiles(*.*);foreach(FileInfo %2 in files)%3*/13.复制文件夹/*using System.IO;using System.Collections;*/string path = (%2.LastIndexOf() = %2.Length - 1) ? %2 : %2+;string parent = Path.GetDirectoryNa

8、me(%1);Directory.CreateDirectory(path + Path.GetFileName(%1);DirectoryInfo dir = new DirectoryInfo(%1.LastIndexOf() = %1.Length - 1) ? %1 : %1 + );FileSystemInfo fileArr = dir.GetFileSystemInfos();Queue Folders = new Queue(dir.GetFileSystemInfos();while (Folders.Count0) FileSystemInfo tmp = Folders.

9、Dequeue(); FileInfo f = tmp as FileInfo; if (f = null) DirectoryInfo d = tmp as DirectoryInfo; Directory.CreateDirectory(d.FullName.Replace(parent.LastIndexOf() = parent.Length - 1) ? parent : parent + , path); foreach (FileSystemInfo fi in d.GetFileSystemInfos() Folders.Enqueue(fi); else f.CopyTo(f

10、.FullName.Replace(parent, path); 14.复制目录下所有的文件夹到另一个文件夹下/*using System.IO;using System.Collections;*/DirectoryInfo d = new DirectoryInfo(%1);foreach (DirectoryInfo dirs in d.GetDirectories() Queue al = new Queue(dirs.GetFileSystemInfos(); while (al.Count 0) FileSystemInfo temp = al.Dequeue(); FileInf

11、o file = temp as FileInfo; if (file = null) DirectoryInfo directory = temp as DirectoryInfo; Directory.CreateDirectory(path + directory.Name); foreach (FileSystemInfo fsi in directory.GetFileSystemInfos() al.Enqueue(fsi); else File.Copy(file.FullName, path + file.Name); 15.移动文件夹/*using System.IO;usi

12、ng System.Collections;*/ string filename = Path.GetFileName(%1); string path=(%2.LastIndexOf() = %2.Length - 1) ? %2 : %2 + ; if (Path.GetPathRoot(%1) = Path.GetPathRoot(%2) Directory.Move(%1, path + filename); else string parent = Path.GetDirectoryName(%1); Directory.CreateDirectory(path + Path.Get

13、FileName(%1); DirectoryInfo dir = new DirectoryInfo(%1.LastIndexOf() = %1.Length - 1) ? %1 : %1 + ); FileSystemInfo fileArr = dir.GetFileSystemInfos(); Queue Folders = new Queue(dir.GetFileSystemInfos(); while (Folders.Count 0) FileSystemInfo tmp = Folders.Dequeue(); FileInfo f = tmp as FileInfo; if

14、 (f = null) DirectoryInfo d = tmp as DirectoryInfo; DirectoryInfo dpath = new DirectoryInfo(d.FullName.Replace(parent.LastIndexOf() = parent.Length - 1) ? parent : parent + , path); dpath.Create(); foreach (FileSystemInfo fi in d.GetFileSystemInfos() Folders.Enqueue(fi); else f.MoveTo(f.FullName.Rep

15、lace(parent, path); Directory.Delete(%1, true); 16.移动目录下所有的文件夹到另一个目录下/*using System.IO;using System.Collections;*/string filename = Path.GetFileName(%1); if (Path.GetPathRoot(%1) = Path.GetPathRoot(%2) foreach (string dir in Directory.GetDirectories(%1) Directory.Move(dir, Path.Combine(%2,filename);

16、 else foreach (string dir2 in Directory.GetDirectories(%1) string parent = Path.GetDirectoryName(dir2); Directory.CreateDirectory(Path.Combine(%2, Path.GetFileName(dir2); string dir = (dir2.LastIndexOf() = dir2.Length - 1) ? dir2 : dir2 + ; DirectoryInfo dirdir = new DirectoryInfo(dir); FileSystemIn

17、fo fileArr = dirdir.GetFileSystemInfos(); Queue Folders = new Queue(dirdir.GetFileSystemInfos(); while (Folders.Count 0) FileSystemInfo tmp = Folders.Dequeue(); FileInfo f = tmp as FileInfo; if (f = null) DirectoryInfo d = tmp as DirectoryInfo; DirectoryInfo dpath = new DirectoryInfo(d.FullName.Repl

18、ace(parent.LastIndexOf() = parent.Length - 1) ? parent : parent + , %2); dpath.Create(); foreach (FileSystemInfo fi in d.GetFileSystemInfos() Folders.Enqueue(fi); else f.MoveTo(f.FullName.Replace(parent, %2); dirdir.Delete(true); 17.以一个文件夹的框架在另一个目录创建文件夹和空文件/*using System.IO;using System.Collections;

19、*/bool b=false;string path = (%2.LastIndexOf() = %2.Length - 1) ? %2 : %2 + ;string parent = Path.GetDirectoryName(%1);Directory.CreateDirectory(path + Path.GetFileName(%1);DirectoryInfo dir = new DirectoryInfo(%1.LastIndexOf() = %1.Length - 1) ? %1 : %1 + );FileSystemInfo fileArr = dir.GetFileSyste

20、mInfos();Queue Folders = new Queue(dir.GetFileSystemInfos();while (Folders.Count 0) FileSystemInfo tmp = Folders.Dequeue(); FileInfo f = tmp as FileInfo; if (f = null) DirectoryInfo d = tmp as DirectoryInfo; Directory.CreateDirectory(d.FullName.Replace(parent.LastIndexOf() = parent.Length - 1) ? par

21、ent : parent + , path); foreach (FileSystemInfo fi in d.GetFileSystemInfos() Folders.Enqueue(fi); else if(b) File.Create(f.FullName.Replace(parent, path); 18.复制文件/using System.IO;File.Copy(%1,%2);19.复制一个文件夹下所有的文件到另一个目录/using System.IO;foreach (string fileStr in Directory.GetFiles(%1)File.Copy(%1.Las

22、tIndexOf() = %1.Length - 1) ? %1 +Path.GetFileName(fileStr): %1 + +Path.GetFileName(fileStr),(%2.LastIndexOf() = %2.Length - 1) ? %2 +Path.GetFileName(fileStr): %2 + +Path.GetFileName(fileStr);20.提取扩展名/using System.IO;string %2=Path.GetExtension(%1);21.提取文件名/using System.IO;string %2=Path.GetFileNam

23、e(%1);22.提取文件路径/using System.IO;string %2=Path.GetDirectoryName(%1);23.替换扩展名/using System.IO;File.ChangeExtension(%1,%2);24.追加路径/using System.IO;string %3=Path.Combine(%1,%2);25.移动文件/using System.IO;File.Move(%1,%2+file.getname(%1);26.移动一个文件夹下所有文件到另一个目录foreach (string fileStr in Directory.GetFiles(%

24、1)File.Move(%1.LastIndexOf() = %1.Length - 1) ? %1 +Path.GetFileName(fileStr): %1 + +Path.GetFileName(fileStr),(%2.LastIndexOf() = %2.Length - 1) ? %2 +Path.GetFileName(fileStr): %2 + +Path.GetFileName(fileStr);27.指定目录下搜索文件/*using System.Text;using System.IO;*/string fileName=%1;string dirName=%2;Di

25、rectoryInfo dirc=new DirectoryInfo(dirName);foreach(FileInfo file in dirc.GetFiles() if(file.Name.IndexOf(fileName)-1)return file.FullName;foreach(DirectoryInfo dir in dirc.GetDirectories() return GetFile(fileName,dir.FullName);return 找不到指定的文件;28.打开对话框OpenFileDialog penFileDialog=new OpenFileDialog(

26、);openFileDialog.InitialDirectory=c:;/注意这里写路径时要用c:而不是c:openFileDialog.Filter=文本文件|*.*|C#文件|*.cs|所有文件|*.*;openFileDialog.RestoreDirectory=true;openFileDialog.FilterIndex=1;if (openFileDialog.ShowDialog()=DialogResult.OK) fName=openFileDialog.FileName;File fileOpen=new File(fName);isFileHaveName=true;

27、%1=fileOpen.ReadFile();%1.AppendText();29.文件分割/using System.IO;FileStream fsr = new FileStream(%1, FileMode.Open, FileAccess.Read);byte btArr = new bytefsr.Length;fsr.Read(btArr, 0, btArr.Length);fsr.Close();string strFileName=%1.Substring(%1.LastIndexOf()+1);FileStream fsw = new FileStream(%2 + str

28、FileName + 1, FileMode.Create, FileAccess.Write);fsw.Write(btArr, 0, btArr.Length/2);fsw.Close();fsw = new FileStream(%2 + strFileName + 2, FileMode.Create, FileAccess.Write);fsw.Write(btArr, btArr.Length/2, btArr.Length-btArr.Length/2);fsw.Close();30.文件合并/using System.IO;string strFileName = %1.Sub

29、string(%1.LastIndexOf() + 1);FileStream fsr1 = new FileStream(%2 + strFileName + 1, FileMode.Open, FileAccess.Read);FileStream fsr2 = new FileStream(%2 + strFileName + 2, FileMode.Open, FileAccess.Read);byte btArr = new bytefsr1.Length+fsr2.Length;fsr1.Read(btArr, 0, Convert.ToInt32(fsr1.Length);fsr

30、2.Read(btArr, Convert.ToInt32(fsr1.Length), Convert.ToInt32(fsr2.Length);fsr1.Close();fsr2.Close();FileStream fsw = new FileStream(%2 + strFileName, FileMode.Create, FileAccess.Write);fsw.Write(btArr, 0, btArr.Length);fsw.Close();31.文件简单加密/using System.IO;/读文件FileStream fsr = new FileStream(%1, File

31、Mode.Open, FileAccess.Read);byte btArr = new bytefsr.Length;fsr.Read(btArr, 0, btArr.Length);fsr.Close();for (int i = 0; i btArr.Length; i+) /加密int ibt = btArri;ibt += 100;ibt %= 256;btArri = Convert.ToByte(ibt);/写文件string strFileName = Path.GetExtension(%1);FileStream fsw = new FileStream(%2+/ + en

32、c_ + strFileName, FileMode.Create, FileAccess.Write);fsw.Write(btArr, 0, btArr.Length);fsw.Close();32.文件简单解密/using System.IO;FileStream fsr = new FileStream(%1, FileMode.Open, FileAccess.Read);byte btArr = new bytefsr.Length;fsr.Read(btArr, 0, btArr.Length);fsr.Close();for (int i = 0; i btArr.Length

33、; i+)/解密int ibt = btArri;ibt -= 100;ibt += 256;ibt %= 256;btArri = Convert.ToByte(ibt);/写文件string strFileName = Path.GetExtension(%1);FileStream fsw = new FileStream(%2 +/ + strFileName, FileMode.Create, FileAccess.Write);fsw.Write(btArr, 0, btArr.Length);fsw.Close();33.读取ini文件属性/using System.Runtim

34、e.InteropServices;/DllImport(kernel32)/返回取得字符串缓冲区的长度/private static extern long GetPrivateProfileString(string section,string key, string def,StringBuilder retVal,int size,string filePath);string Section=%1;string Key=%2;string NoText=%3;string iniFilePath=Setup.ini;string %4=String.Empty;if(File.Ex

35、ists(iniFilePath)StringBuilder temp = new StringBuilder(1024);GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);%4=temp.ToString();34.合并一个目录下所有的文件/using System.IO;FileStream fsw = new FileStream(%2, FileMode.Create, FileAccess.Write);foreach (string fileStr in Directory.GetFiles(%1)F

36、ileStream fsr1 = new FileStream(fileStr, FileMode.Open, FileAccess.Read);byte btArr = new bytefsr1.Length;fsr1.Read(btArr, 0, Convert.ToInt32(fsr1.Length);fsr1.Close();fsw.Write(btArr, 0, btArr.Length);fsw.Close();35.写入ini文件属性/using System.Runtime.InteropServices;/DllImport(kernel32)/返回0表示失败,非0为成功/p

37、rivate static extern long WritePrivateProfileString(string section,string key, string val,string filePath);string Section=%1;string Key=%2;string Value=%3;string iniFilePath=Setup.ini;bool %4=false; if(File.Exists(iniFilePath) long pStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);if(OpStation = 0) %4=false;else %4=true; 36.获得当前路径s

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服