您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 第七讲目录与文件操作
上页下页节末页结束第七讲目录与文件操作目录管理文件管理文件读写上页下页节末页结束1、目录管理类:System.IO.Directory与System.IO.DirectoryInfo用法1:Directory是一个实用类,提供用于目录管理的静态方法,使用时要通过参数指定当前操作针对的目录,如例。用法2:DirectoryInfo类也提供目录操作相关方法,但该类实例化后方可使用,且操作均针对实例化时指定的某个目录方法……usingSystem;usingSystem.Text;usingSystem.IO;//默认不包含该命名空间,需手工引入,或根据“代码提示”引入namespace文件操作{classProgram{staticvoidMain(string[]args){if(Directory.Exists(@C:\qq))Console.WriteLine(该文件夹存在);DirectoryInfod=newDirectoryInfo(@C:\qq);if(!d.Exists)Console.WriteLine(该文件夹不存在);}}}上页下页节末页结束Directory类常用方法:CreateDirectory创建指定路径中的所有目录。Delete删除目录delete(stringpath,boolrecursive)Move将文件或目录及其内容移到新位置,不能跨磁盘!Exists确定给定路径是否引用磁盘上的现有目录GetCurrentDirectory获取应用程序的当前工作目录。SetCurrentDirectory将应用程序的当前工作目录设置为指定的目录。GetParent检索指定路径的父目录,包括绝对路径和相对路径。GetDirectoryRoot返回指定路径的根信息GetLogicalDrives返回逻辑驱动器名“驱动器号:\”形成的字符串数组GetDirectories获取指定目录中子目录组成的数组GetFiles返回指定目录中的文件组成的数组(可设置参数如*.exe)GetCreationTime获取目录的创建日期和时间。GetLastAccessTime返回上次访问指定文件或目录的日期和时间。GetLastWriteTime返回上次写入指定文件或目录的日期和时间。SetCreationTime为指定的文件或目录设置创建日期和时间。SetLastAccessTime设置上次访问指定文件或目录的日期和时间。SetLastWriteTime设置上次写入目录的日期和时间。上页下页节末页结束常见操作://Specifythedirectoriesyouwanttomanipulate.stringpath=@“c:\MyDir”,target=@c:\TestDir;try{//Determinewhetherthedirectoryexists.if(!Directory.Exists(path)){//Createthedirectoryitdoesnotexist.Directory.CreateDirectory(path);}if(Directory.Exists(target)){//Deletethetargettoensureitisnotthere.Directory.Delete(target,true);}//Movethedirectory.Directory.Move(path,target);//Createafileinthedirectory.File.CreateText(target+@\myfile.txt);//Countthefilesinthetargetdirectory.Console.WriteLine(Thenumberoffilesin{0}is{1},target,Directory.GetFiles(target).Length);}catch(Exceptione){Console.Write(Theprocessfailed:{0},e.ToString());}上页下页节末页结束DirectoryInfo类常用属性和方法:属性说明FullName获取目录或文件的完整目录Extension获取表示文件扩展名部分的字符串Exists获取指示目录是否存在的值。Parent获取指定子目录的父目录。Root获取路径的根部分Attributes获取或设置当前目录的FileAttributes,内含只读、隐藏成员CreationTime获取或设置当前FileSystemInfo对象的创建时间LastAccessTime获取或设置上次访问当前文件或目录的时间LastWriteTime获取或设置上次写入当前文件或目录的时间。方法说明Create创建目录。CreateSubdirectory在指定路径中创建一或多个子目录Delete删除目录delete(boolrecursive)MoveTo将目录及其内容移动到新路径,不能跨磁盘移动GetDirectories返回当前目录的子目录列表GetFiles返回当前目录的文件列表。上页下页节末页结束常见操作://Specifythedirectoriesyouwanttomanipulate.DirectoryInfodi=newDirectoryInfo(@c:\MyDir);try{//Determinewhetherthedirectoryexists.if(di.Exists){//Indicatethatthedirectoryalreadyexists.foreach(DirectoryInfosubdirindi.getDirectories())Console.WriteLine(“subdir.Name);return;}//Trytocreatethedirectory.di.Create();Console.WriteLine(Thedirectorywascreatedsuccessfully.);//Deletethedirectory.di.Delete(true);Console.WriteLine(Thedirectorywasdeletedsuccessfully.);}catch(Exceptione){Console.WriteLine(Theprocessfailed:{0},e.ToString());}上页下页节末页结束File类方法Copy(stringSourceFilePath,stringDestinationFilePath,boolovwrite)Create(stringFilePath)Delete(stringFilePath)Exists(stringFilePath)Move(stringSourceFilePath,stringDestinationFilePath)2、文件管理类:System.IO.File与System.IO.FileInfoFileInfo类的属性DirectoryNameExtension/Length/NameFileInfo类的方法CopyTo(stringdestinationfile,boolow)Create()Delete()OpenWrite()OpenRead()上页下页节末页结束常见操作:stringpath=Path.GetTempFileName();//创建一个0字节临时文件完整路径FileInfofi1=newFileInfo(path);if(fi1.Exists){using(StreamWritersw=fi1.CreateText()){sw.WriteLine(Hello);sw.WriteLine(And);sw.WriteLine(Welcome);}}using(StreamReadersr=fi1.OpenText()){//模块结束时自动关闭strings=;while((s=sr.ReadLine())!=null)Console.WriteLine(s);}try{stringpath2=Path.GetTempFileName();FileInfofi2=newFileInfo(path2);//Ensurethatthetargetdoesnotexist.fi2.Delete();fi1.CopyTo(path2);Console.WriteLine({0}wascopiedto{1}.,path,path2);//Deletethenewlycreatedfile.fi2.Delete();Console.WriteLine({0}wassuccessfullydeleted.,path2);}catch(Exceptione){Console.Write(Theprocessfailed:{0},e.ToString());}上页下页节末页结束3、文件读写流一般文件读写文本文件读写上页下页节末页结束3.1流流:用于传输数据的对象,将数据从外部源传输到程序中(读取流),或者将数据从程序传输到外部源(写入流)类:System.IO.Stream,属性有CanRead、CanWrite、CanSeek等,方法有ReadWriteSeekStreamMemoryStreamBufferedStreamFileStreamNetworkStreamCryptoStreamSystem.MarshallRefObjectTextReaderTextWriterStreamReaderStringReaderStreamWriterStringWriter上页下页节末页结束3.2FileStream构造函数FileStream(FilePath,FileMode,FileAccess,FileShare)FileStream(FilePath,FileMode,FileAccess)FileStream(FilePath,FileMode)用于对文件执行读写操作FileMode枚举数◆Append◆Create◆CreateNew◆Open◆OpenOrCreate◆Truncate•FileAccess枚举数–Read–Write–ReadWrite•FileShare枚举数–None–Read–Write–ReadWriteFileStreamfs=newFileStream(“C:\\t1.txt”,FileMode.OpenOrCreate);FileStreamfs=newFileStream(“C:\\t2.txt”,FileMode.Open,FileAccess.Read);FileStreamfs=newFileStream(“C:\\t3.txt”,FileMode.Create,FileAccess.Write);上页下页节末页结束FileStream之读取文件方法ReadByte():从流中一次读取一个字节,返回0-255;若到末尾返-1IntRead(Byte[]array,intoffset,intcount)从流中一次读取count字节放入数组array,从offset处开始放,返回实际读取字节数,到达流末尾则返回0FileStreamfs=newFileStream(d:\\temp.txt,FileMode.Open);longlength=fs.Length;//获取流的长度Byte[]biContent=newByte[length];fs.Read(biContent,0,biContent.Length);UTF8Encodingencoding=newUTF8Encoding(true);StringtxtContent=encoding.GetString(biContent);Console.WriteLine(txtContent);fs.Close();上页下页节末页结束FileStrea
本文标题:第七讲目录与文件操作
链接地址:https://www.777doc.com/doc-3152005 .html