为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C#文件创建、移动、删除、复制

2012-09-06 5页 doc 32KB 45阅读

用户头像

is_108690

暂无简介

举报
C#文件创建、移动、删除、复制 输入全为数字 if ((e.KeyChar = 57) && (e.KeyChar != 8) && (e.KeyChar == 46)) //48代表0,57代表9,8代表空格,46代表小数点 //1.---------文件夹创建、移动、删除--------- //创建文件夹 Directory.CreateDirectory(Server.MapPath("a")); Directory.CreateDirectory(Server.MapPath("b"...
C#文件创建、移动、删除、复制
输入全为数字 if ((e.KeyChar <= 48 || e.KeyChar >= 57) && (e.KeyChar != 8) && (e.KeyChar == 46)) //48代0,57代表9,8代表空格,46代表小数点 //1.---------文件夹创建、移动、删除--------- //创建文件夹 Directory.CreateDirectory(Server.MapPath("a")); Directory.CreateDirectory(Server.MapPath("b")); Directory.CreateDirectory(Server.MapPath("c")); //移动b到a Directory.Move(Server.MapPath("b"), Server.MapPath("a\\b")); //删除c Directory.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("文件夹:" + item + "
"); DirectoryInfo directoryinfo = new DirectoryInfo(item); Response.Write("名称:" + directoryinfo.Name + "
"); Response.Write("路径:" + directoryinfo.FullName + "
"); Response.Write("创建时间:" + directoryinfo.CreationTime + "
"); Response.Write("上次访问时间:" + directoryinfo.LastAccessTime + "
"); Response.Write("上次修改时间:" + directoryinfo.LastWriteTime + "
"); Response.Write("父文件夹:" + directoryinfo.Parent + "
"); Response.Write("所在根目录:" + directoryinfo.Root + "
"); Response.Write("
"); } //所有子文件 foreach (string item in Directory.GetFiles(Server.MapPath("a"))) { Response.Write("文件:" + item + "
"); FileInfo fileinfo = new FileInfo(item); Response.Write("名称:" + fileinfo.Name + "
"); Response.Write("扩展名:" + fileinfo.Extension +"
"); Response.Write("路径:" + fileinfo.FullName +"
"); Response.Write("大小:" + fileinfo.Length +"
"); Response.Write("创建时间:" + fileinfo.CreationTime +"
"); Response.Write("上次访问时间:" + fileinfo.LastAccessTime +"
"); Response.Write("上次修改时间:" + fileinfo.LastWriteTime +"
"); Response.Write("所在文件夹:" + fileinfo.DirectoryName +"
"); Response.Write("文件属性:" + fileinfo.Attributes +"
"); Response.Write("
"); } } //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"%>