news 2026/5/8 18:53:56

C#种更高级的文件处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#种更高级的文件处理

BufferStream

特点

缓存区存储对象,特点读取速度比较快,也需要包装其他文件流(FileStream)读取只有这一个类

代码

//创建一个临时存储对象 BufferedStream buff = new BufferedStream(File.Create(@"1.txt")); //写入内容 byte[] infor = new UTF8Encoding().GetBytes("床前明月光,疑是地上霜,举头望明月,低头思故乡"); buff.Write(infor,0,infor.Length);//从字节数组0的位置开始写,写字节数组长度的内容 buff .Flush(); buff.Close(); //创建一个读取对象 buff = new BufferedStream(File.OpenRead(@"1.txt")); byte[]arr=new byte[buff.Length];//定义数组读取数据,长度为缓存区的大小 while(buff.Read(arr, 0, arr.Length) > 0)//如果数据没读完,继续读 { Console.WriteLine(Encoding.UTF8.GetString(arr));//把arr转为字符串进行展示 }

directoy文件夹操作对象

目的

Directory文件夹:提供一些处理文件夹的操作的属性和方法
DirectoryInfo:设置文件夹属性的类 例如隐藏文件夹,只读文件夹等属性

//创建文件夹,创建在Debug文件夹下,Image/OK文件夹 Directory.CreateDirectory(@"Image/OK"); //Exists判断文件路径是否存在 if (!Directory.Exists(@"Config")) { Directory.CreateDirectory(@"Config"); } //Directory.GetCurrentDirectory()获取当前文件路径,是一个绝对路径 Console.WriteLine(Directory.GetCurrentDirectory()); //Delete()删除文件夹的时候,参数2为true,可以删除目录以及子目录,参数2为false,如果说有子目录就不允许删除 Directory.Delete(@"Image", false); //Move(),把参数1位置的文件剪切到参数2这个位置上 if (!Directory.Exists(@"../Text1")) { Directory.Move(@"Image", @"../Text1"); } //GetDirectories()获取当前目录的子目录(文件夹) string[] s= Directory.GetDirectories("D:\\"); foreach (var item in s) { Console.WriteLine(item+"---"); } //GetFiles获取文件 //Attributes属性 // FileAttributes.Hidden;文件隐藏属性 DirectoryInfo info = new DirectoryInfo(@"新建文件夹"); info.Attributes = FileAttributes.Hidden;

StreamReader和StreamWriter

BinaryReader br=new BinaryReader();二进制读取原始数据,参数是文件流,必须借助filestream,有时候会出现文档内容乱码现象

StreamReader 读取流,实现文件读取功能,并且参数可以直接是路径和编码

using (),声明了一个块级的作用域,在using声明的变量,在{ }里面已经被释放

useing(StreamReader sr=new StreamReader(@"1.txt",Enconding.UFT8)) { //sr.ReadLine()读取一行 string line; while((line=sr.ReadLine())!=null)//一行一行去读,如果读取这一行赋值line,并且line==null证明读取完了 { Console.WriteLine(line); } } //StreamWrite写入对象 using(StreamWriter sw =new StreamWriter(@"2.txt")) { sw.WriteLine("平安夜"); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 2:19:35

UnityChess:沉浸式3D国际象棋游戏的终极体验

UnityChess:沉浸式3D国际象棋游戏的终极体验 【免费下载链接】UnityChess A 3D chess game made with Unity. Core game library submodule: https://github.com/ErkrodC/UnityChessLib 项目地址: https://gitcode.com/gh_mirrors/un/UnityChess UnityChess是…

作者头像 李华
网站建设 2026/5/7 22:06:58

GitHub网络优化全攻略:从原理到实践的完整加速方案

GitHub网络优化全攻略:从原理到实践的完整加速方案 【免费下载链接】github-hosts 🔥🔥🔥 本项目定时更新GitHub最新hosts,解决GitHub图片无法显示,加速GitHub网页浏览。 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/5/3 5:25:36

Lightbox2实战指南:让你的网站图片展示瞬间升级

Lightbox2实战指南:让你的网站图片展示瞬间升级 【免费下载链接】lightbox2 THE original Lightbox script (v2). 项目地址: https://gitcode.com/gh_mirrors/li/lightbox2 还在为网站图片展示效果平淡无奇而苦恼?Lightbox2帮你一键实现专业级图片…

作者头像 李华
网站建设 2026/5/1 9:54:16

Zotero Linter插件终极指南:一键搞定文献格式规范化

Zotero Linter插件终极指南:一键搞定文献格式规范化 【免费下载链接】zotero-format-metadata Linter for Zotero. An addon for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item langu…

作者头像 李华
网站建设 2026/5/4 22:45:44

抖音去水印终极解决方案:F2开源工具完整使用指南

抖音去水印终极解决方案:F2开源工具完整使用指南 【免费下载链接】TikTokDownload 抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokDownload 想要轻松下载抖音无水印视频?F2开源工具…

作者头像 李华