这篇文章主要介绍“怎么用C#中File静态类对文件的读取写入”,在日常操作中,相信很多人在怎么用C#中File静态类对文件的读取写入问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C#中File静态类对文
这篇文章主要介绍“怎么用C#中File静态类对文件的读取写入”,在日常操作中,相信很多人在怎么用C#中File静态类对文件的读取写入问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C#中File静态类对文件的读取写入”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。
1、返回字符串:
string readText = File.ReadAllText(@"c:\temp\MyTest.txt");
2、返回字符串数组:
string[] readText = File.ReadAllLines(@"c:\temp\MyTest.txt", Encoding.UTF8);
3、返回字节数组:
byte[] buffer = File.ReadAllBytes(@"c:\temp\MyTest.txt");string str = Encoding.Default.GetString(buffer, 0, buffer.Length);
4、返回StreamReader
打开现有的UTF-8文本以进行读取
using (StreamReader sr = File.OpenText(@"c:\temp\MyTest.txt")){ string s; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); }}
创建一个新文件向其中写入内容,文件已存在则覆盖。
1、写入字符串:
string createText = "Hello and Welcome" + Environment.NewLine;File.WriteAllText(path, createText);//File.WriteAllText(),File.AppendAllText()
2、写入字符串数组:
string[] createText = { "Hello", "And", "Welcome" };File.WriteAllLines(path, createText);
3、写入字节数组:
string str = "哈哈哈哈哈哈";byte[] buffer = Encoding.Default.GetBytes(str);File.WriteAllBytes(path,buffer);
4、返回StreamWriter
创建或打开现有的UTF-8文本,以进行写入或追加
using (StreamWriter sw = File.CreateText(path)) //StreamWriter:File.CreateText()、File.AppendText(){ sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome");}
File.Open():默认为不共享、具有读/写访问权限
using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)){ byte[] b = new byte[1024]; UTF8Encoding temp = new UTF8Encoding(true); while (fs.Read(b, 0, b.Length) > 0) { Console.WriteLine(temp.GetString(b)); }}
File.OpenRead():读访问权限
略
File.OpenWrite:写访问权限
using (FileStream fs = File.OpenWrite(path)){ Byte[] info = new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method."); // Add some infORMation to the file. fs.Write(info, 0, info.Length);}
File.Create():
using (FileStream fs = File.Create(path)){ Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); // Add some information to the file. fs.Write(info, 0, info.Length);}
文件删除方法:File.Delete()
文件复制方法:File.Copy()
文件移动方法:File.Move()
设置文件属性方法:File.Set/Get***()
判断文件是否存在的方法:File.Exist()
//删除此目录Directory.Delete(@"C:\新建文件夹")//删除此目录,true表示要是此目录有子目录也删除,否则就抛出异常Directory.Delete(@"C:\新建文件夹", false);//此目录是否存在bool b = Directory.Exists(@"C:\新建文件夹");//根据路径返回此目录下的子目录string[] dirs1 = Directory.GetDirectories(@"C:\新建文件夹");//第二个参数表示:搜索的范围,就是搜索的文件夹包含“基础”关键字string[] dirs2 = Directory.GetDirectories(@"C:\新建文件夹", "基础");//搜索目录下的所有文件string[] files = Directory.GetFiles(@"C:\新建文件夹");//第三个参数表示:指定搜索操作应包括所有子目录还是仅包括当前目录。string[] files1 = Directory.GetFiles(@"C:\新建文件夹", "2.txt", SearchOption.AllDirectories);//(获取指定目录下的所有目录时返回一个DirectoryInfo数组。)DirectoryInfo dirs = Directory.GetParent(@"C:\新建文件夹");//移动、剪切。只能在同一个磁盘中。目录没有Copy方法。可以使用Move()方法实现重命名。Directory.Move(@"F:\测试\33", @"F:\测试\32\33");
派生类:
DirectoryInfo
FileInfo
//实例化FileInfo进行操作FileInfo myfile = new FileInfo(path); //声明一个对象对某一个文件进行操作myfile.CopyTo(destpath); //对文件进行复制操作,复制路径为destpathmyfile.MoveTo(destpath); //进行移动操作myfile.Delete(); //进行删除操作//获得某一文件或文件夹的详细信息(创建日期,最后一次修改日期等等)FileInfo myfile = new FileInfo(path); //声明一个对象对某一个文件进行操作DateTime dt = myfile.CreationTime; //获取或设置文件/文件夹的创建日期string filepath = myfile.DirectoryName; //仅能用于FileInfo,获得完整的路径名,路径+文件名bool file = myfile.Exists; //此属性的值表示文件或文件夹是否存在,存在会返回Truestring fullname = myfile.FullName; //获取文件或文件夹的完整路径名DateTime lastTime = myfile.LastAccessTime; //获取或设置最后一次访问文件或文件夹的时间DateTime lastWrite = myfile.LastWriteTime; //获取或设置最后一次修改文件夹或文件夹的时间string name = myfile.Name; //获取文件名,不能修改哦long length = myfile.Length; //返回文件的字节大小//CreationTime,LastAccessTime,LastWriteTime都是可以被修改的。
DirectoryInfo dir = new DirectoryInfo(@"d:\C#程序设计");if (!dir.Exists){ dir.Create();}else{ Console.WriteLine("该目录已经存在");}
在windows操作系统中,存储介质统称为驱动器,硬盘由于可以划分为多个区域,每一个区域称为一个驱动器。
DriveInfo类的常用字段成员有
DriveFormat(文件系统格式,如NTFS或FAT32)、
DriveType(驱动器类型)、
Name(驱动器名)、
TotalSize(总空间)、
TotalFreeSpace(获得驱动器可用空间)。
常用的方法成员有GetDrives(获得可用驱动器列表)。
DriveType枚举型的枚举值有CDRom(光驱)、Fixed(硬盘)、Network(网络驱动器)和Removeable(软盘或U盘)等。
例如,以下代码可以输出每一个硬盘驱动器的剩余空间信息。
DriveInfo[] drivers = DriveInfo.GetDrives();foreach (DriveInfo driver in drivers){ if (driver.DriveType == DriveType.Fixed && driver.DriveFormat == "NTFS") { Console.WriteLine("在{0}驱动器上还有{1}字节的剩余空间。", driver.Name, driver.AvailableFreeSpace); }}
到此,关于“怎么用C#中File静态类对文件的读取写入”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
--结束END--
本文标题: 怎么用C#中File静态类对文件的读取写入
本文链接: https://lsjlt.com/news/328862.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0