c#文件读写

来源:互联网 发布:怎么删除mac导入照片 编辑:程序博客网 时间:2024/05/18 16:39
//1.---------文件夹创建、移动、删除---------//创建文件夹Directory.CreateDirectory(Server.MapPath("a"));Directory.CreateDirectory(Server.MapPath("b"));Directory.CreateDirectory(Server.MapPath("c"));//移动b到aDirectory.Move(Server.MapPath("b"), Server.MapPath("a//b"));//删除cDirectory.Delete(Server.MapPath("c"));//2.---------文件创建、复制、移动、删除---------//创建文件//使用File.Create创建再复制/移动/删除时会提示:文件正由另一进程使用,因此该进程无法访问该文件//改用 FileStream 获取 File.Create 返回的 System.IO.FileStream 再进行关闭就无此问题FileStream fs;fs = File.Create(Server.MapPath("a.txt"));fs.Close();fs = File.Create(Server.MapPath("b.txt"));fs.Close();fs = File.Create(Server.MapPath("c.txt"));fs.Close();//复制文件File.Copy(Server.MapPath("a.txt"), Server.MapPath("a//a.txt"));//移动文件File.Move(Server.MapPath("b.txt"), Server.MapPath("a//b.txt"));File.Move(Server.MapPath("c.txt"), Server.MapPath("a//c.txt"));//删除文件File.Delete(Server.MapPath("a.txt"));//3.---------遍历文件夹中的文件和子文件夹并显示其属性---------if(Directory.Exists(Server.MapPath("a"))){     //所有子文件夹     foreach(string item in Directory.GetDirectories(Server.MapPath("a")))     {         Response.Write("<b>文件夹:" + item + "</b><br/>");         DirectoryInfo directoryinfo = new DirectoryInfo(item);         Response.Write("名称:" + directoryinfo.Name + "<br/>");         Response.Write("路径:" + directoryinfo.FullName + "<br/>");         Response.Write("创建时间:" + directoryinfo.CreationTime + "<br/>");         Response.Write("上次访问时间:" + directoryinfo.LastAccessTime + "<br/>");         Response.Write("上次修改时间:" + directoryinfo.LastWriteTime + "<br/>");         Response.Write("父文件夹:" + directoryinfo.Parent + "<br/>");         Response.Write("所在根目录:" + directoryinfo.Root + "<br/>");         Response.Write("<br/>");     }     //所有子文件     foreach (string item in Directory.GetFiles(Server.MapPath("a")))     {         Response.Write("<b>文件:" + item + "</b><br/>");         FileInfo fileinfo = new FileInfo(item);         Response.Write("名称:" + fileinfo.Name + "<br/>");         Response.Write("扩展名:" + fileinfo.Extension +"<br/>");         Response.Write("路径:" + fileinfo.FullName +"<br/>");         Response.Write("大小:" + fileinfo.Length +"<br/>");         Response.Write("创建时间:" + fileinfo.CreationTime +"<br/>");         Response.Write("上次访问时间:" + fileinfo.LastAccessTime +"<br/>");         Response.Write("上次修改时间:" + fileinfo.LastWriteTime +"<br/>");         Response.Write("所在文件夹:" + fileinfo.DirectoryName +"<br/>");         Response.Write("文件属性:" + fileinfo.Attributes +"<br/>");         Response.Write("<br/>");     }}//4.---------文件读写---------if (File.Exists(Server.MapPath("a//a.txt"))){     StreamWriter streamwrite = new StreamWriter(Server.MapPath("a//a.txt"));     streamwrite.WriteLine("木子屋");     streamwrite.WriteLine("http://www.mzwu.com/");     streamwrite.Write("2008-04-13");     streamwrite.Close();     StreamReader streamreader = new StreamReader(Server.MapPath("a//a.txt"));     Response.Write(streamreader.ReadLine());     Response.Write(streamreader.ReadToEnd());     streamreader.Close();}     获取文件的版本信息:FileVersionInfo myFileVersionInfo1 = FileVersionInfo.GetVersionInfo("D://TEST.DLL");textBox1.Text="版本号: " + myFileVersionInfo1.FileVersion;更改文件属性,删除只读文件:  下例欲将E:/test.txt文件拷贝至D:/tmp/test.txt,但D:/tmp/test.txt已经存在。//File.Copy(sourceFile,destinationFile,true); 用来拷贝文件//当destinationFile已经存在时,无法将文件file1拷贝到目标文件,//因此先删除destination文件,File.Delete()方法不能删除只读文件,//因此,如果文件属性为只读(Attributes属性中会包含有"ReadOnly"),//先把文件属性重置为Normal,然后再删除:string file1="E://test.txt";string destinationFile="d://tmp//test.txt";if(File.Exists(destinationFile)){ FileInfo fi=new FileInfo(destinationFile); if(fi.Attributes.ToString().IndexOf("ReadOnly")!=-1)  fi.Attributes=FileAttributes.Normal;  File.Delete(destinationFile);}File.Copy(file1,destinationFile,true);判断文件是否存在:File.Exists(string filePath)  判断目录是否存在:Directory.Exists("D://LastestVersion")   按行读取文件:int fileCount=0;// Open the file just specified such that no one else can use it.StreamReader sr = new StreamReader(textBox1.Text.Trim());while(sr.Peek() > -1)//StreamReader.Peek()返回下一个可用字符,但不使用它{ listBox1.Items.Add(sr.ReadLine()); fileCount++;}sr.Close();按行写入文件:StreamWriter sw = new StreamWriter("D://result.txt");for(int i=0;i<10;i++){ sw.WriteLine("这是第"+i.ToString()+"行数据");}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");递归删除文件夹及文件 <%@ Page Language=C#%> <%@ Import namespace="System.IO"%> <Script runat=server> public void DeleteFolder(string dir) {     if (Directory.Exists(dir)) //如果存在这个文件夹删除之     {         foreach(string d in Directory.GetFileSystemEntries(dir))         {             if(File.Exists(d))                 File.Delete(d); //直接删除其中的文件             else                 DeleteFolder(d); //递归删除子文件夹         }         Directory.Delete(dir); //删除已空文件夹         Response.Write(dir+" 文件夹删除成功");     }     else         Response.Write(dir+" 该文件夹不存在"); //如果文件夹不存在则提示 } protected void Page_Load (Object sender ,EventArgs e) {     string Dir="D://gbook//11";     DeleteFolder(Dir); //调用函数删除文件夹 }

原创粉丝点击