第七讲目录与文件操作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

上页下页节末页结束第七讲目录与文件操作目录管理文件管理文件读写上页下页节末页结束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

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功