C#中File和FileStream的简单介绍和用法
前言
在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识。下面就对我所学习的File类和FileStream进行简单的总结。
1.首先先介绍File类和FileStream文件流
1.1 File类,是一个静态类,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径path。主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。
1.2 FileStream文件流 只能处理原始字节(raw byte)。FileStream 类可以用于任何数据文件,而不仅仅是文本文件。FileStream 对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后通过编码转换将字节数组转换成字符串。
1.3 区别:file:是一个文件的类,对文件进行操作的;filestream:文件流.对txt,xml等文件写入内容的时候需要使用的一个工具.打个形象的比喻.file是笔记本,需要filestream的这个笔才能写.
2.代码部分
2.1 File类创建Txt
string path = @"C:\Users\Administrator\Desktop\1.txt";
File.Open(path, FileMode.OpenOrCreate);
2.2 File类Txt拼接内容
List<string> users = new List<string>();users.Add("张三|1000");users.Add("李四|10000");users.Add("王五|5000");users.Add("赵六|6000");File.AppendAllLines(path, users, Encoding.Default);
2.3 File类字节形式读取txt文档
byte[] buttf = File.ReadAllBytes(path);
string str = Encoding.Default.GetString(buttf, 0, buttf.Length);
2.4 File类实现txt员工工资加倍
string[] filestr = File.ReadAllLines(path, Encoding.Default);
for (int i = 0; i < filestr.Length; i++){string[] str = filestr[i].Split('|');filestr[i] = str[0] + "|" + (Convert.ToDouble(str[1]) * 2).ToString();}File.AppendAllLines(path, filestr, Encoding.Default);
2.5 File类常用方法
3.文件流
3.1文件流文字形式读取
byte[] bytsize = new byte[1024 * 1024 * 5];using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite)){while (true){int r = stream.Read(bytsize, 0, bytsize.Length);//如果读取到的字节数为0,说明已到达文件结尾,则退出while循if (r == 0){break;}string str = Encoding.Default.GetString(bytsize, 0, r);Console.WriteLine(str);}}
3.2文件流文字形式写入
string str = "今天天气好晴朗,处处好风光";byte[] buttf = Encoding.Default.GetBytes(str);//文件流的写入using (FileStream fscreat = new FileStream(path, FileMode.Append, FileAccess.Write)){fscreat.Write(buttf, 0, buttf.Length);}
3.3文件流视频形式复制
byte[] bytsize = new byte[1024 * 1024 * 5];
string videoPath = @"C:\Users\Administrator\Desktop\1、练习1-3.avi";string videoNewPath = @"C:\Users\Administrator\Desktop\1.avi";//创建读取流using (FileStream fsread=new FileStream(videoPath,FileMode.Open,FileAccess.Read)){//创建写入流using (FileStream fswrite=new FileStream(videoNewPath,FileMode.OpenOrCreate,FileAccess.Write)){while (true){//返回实际读取到的字节int r = fsread.Read(bytsize, 0, bytsize.Length);//当字节位0的时候 证明已经读取结束if(r==0){break;}fswrite.Write(bytsize,0,r);}}}
因为刚开始学习所以有些不足,希望各c#教程位大佬可以指正。
总结
到此这篇关于C#中File和FileStream的简单介绍和用法的文章就介绍到这了
C#中File和FileStream的简单介绍和用法相关推荐
- linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍
背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性 ...
- TS简单介绍以及用法
TS简单介绍以及用法 一.什么是TS TS是TypeScript的缩写,是JavaScript的超集 (JS有的TS都有),也可以说TS是 type + js,加了一个类型.比如:JS:let a = ...
- C#中File和FileStream的用法
在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识.下面就对我所学习的File类和FileStream进行简单的总结. 1.首先先介绍File类和FileStream文件流 1.1 F ...
- Python中的yield生成器的简单介绍
Python yield 使用浅析(整理自:廖 雪峰, 软件工程师, HP 2012 年 11 月 22 日 ) 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关 ...
- 简述python中的几种数据类型,简单介绍Python中的几种数据类型
简单介绍Python中的几种数据类型 python 里面分为 基本数据类型 和 复合数据类型 基本数据类型包括:数值 字符串 布尔 和 none 复合数据类型包括:列表 元组 字典 和集合怎么算是深情 ...
- 关于main函数中argc和argv的简单介绍
一般来说,刚开始学习写程序的人员经常会碰到如下形式的main函数,int main(int argc, char** argv)或者int main(int argc, char* argv[]),或 ...
- Oracle connet by prior 关键字的简单介绍和用法
简单来讲, connect by piror 这个关键字是用来保存树结构的关系表的. 一, 树结构简单介绍 这里都简单解释一下树结构, 所谓树就是里面的成员除了最上级的成员外, 有且只有一个 ...
- JFreeChart简单介绍及用法(入门)
(学习留存,如有侵权,请告知,立刻删除!) 1.jfreechart简单介绍以及jar包下载 首先了解JFreeChart是什么,它是JAVA平台上的一个开源报表系统(开放的图表绘制类库),通过它可以 ...
- C语言rand和srand函数的简单介绍和用法
目录 介绍: 用法: 介绍: 在c语言中,我们想要在一个范围内随机生成一个数字,我们就需要用到rand函数,生成大小为0到32767的整数,但仅靠rand生成的数是伪随机的数,如下: 第一次运行n次: ...
最新文章
- Spring Rmi配置
- vegan稀释曲线 基因丰度_R语言 vegan包计算物种累计曲线
- 查理·芒格的合伙人李录:价值投资在中国到底适不适用?
- jquery name选择器_【百战程序员从开始到植发】之jquery
- protues 快捷键和元件
- 一文带你了解JDK动态代理的原理
- Oracle 数据脱敏
- matlab中sr锁存器,大家一致避免使用的锁存器为什么依然存在于FPGA中?我们对锁存器有什么误解?...
- [webpack] Content not from webpack is served from “xxxx“ 并且 http://localhost:8080/ 数据为空解决方案
- 光子晶体的应用背景和研究历史
- Powershell添加英文输入法
- java-php-python-ssm-兴澜幼儿园管理系统-计算机毕业设计
- PHP:include包含文件局部引入全局变量失效的作用域问题
- 如何用html制作田字格,WPS文字怎么制作田字格 WPS文字制作田字格的方法
- 应用商店调研-360手机助手
- StyleGAN3重磅发布!皮肤、毛发不再粘屏幕,还能360度旋转!英伟达最新开源
- 高性能 低功耗Cortex-A53核心板 | i.MX8M Mini
- 啥是数据处理能力?(二)数据处理工具
- YOLOv5/v7 更换骨干网络之 PP-LCNet
- 最优化建模算法理论之Goldstein准则(数学原理及MATLAB实现)
热门文章
- CSS动画——clip剪切动画
- ECMBoss企业内容解决方案项目系列之(七)我的同事离职了
- 第一坊炫LOVE音乐酒吧招聘第一坊主播歌手
- 搜狗微信APP逆向(三)unidbg
- 抓球球的机器人应该怎么玩_尖塔奇兵机器人怎么玩 机器人玩法及套路
- 第一届“长城杯”网络安全大赛 ez_python
- kiss原则包括什么_外汇交易中的KISS原则
- 全球物联网行业2017年十大方向发展
- PHP由谁在1994年发明,时光机已经被发明了?1994年毁灭的时光机 研究时光机1994年毁...
- AI 数字人制作(方案一):输入一张图片和一段文字即可生成数字人