C# 之 FileStream类介绍
FileStream类
FileStream(文件流) 这个类主要用于二进制文件中读写,也可以使用它读写任何文件。
StreamReader
(流读取器)和StreamWriter
(流写入器)专门用于读写文本文件
使用FileStream
读写二进制文件:
FileStream
实例用于读写文件中的数据,要构造FileStream实例,需要提供下面的4中信息:
- 要访问的文件
一般提供一个文件的完整路径名 - 表示如何打开文件的模式
新建文件或打开一个现有文件,如果打开一个现有的文件,写入操作是覆盖文件原来的内容,还是追加到文件的末尾? - 表示访问文件的方式
只读、只写、还是读写 - 共享访问
表示是否独占访问文件,如果允许其他流同时访问文件,则这些流是只读 只写 还是读写文件
构造函数的参数:
- FileMode( 打开模式) Append,Create,CreateNew,Open,OpenOrCreate和Truncate
- FileAccess(读取还是写入) Read,ReadWrite和Write
- FileShare(文件共享设置) Delete,Inheritable,None,Read,ReadWrite和Write
PS:
如果文件不存在Append Open
和Truncate
会抛出异常, 如果文件存在 CreateNew
会抛出异常; Create
和 OpenOrCreate
:Create
会删除现有的文件,新建一个空的文件,OpenOrCreate
会判断当前是否有文件,没有的话才会创建;
注意事项:
当我们使用完了一个流之后,一定要调用fs.Close();
方法去关闭流,关闭流会释放与它相关联的资源,允许其他应用程序为同一个文件设置流。这个操作也会刷新缓冲区。
示例代码
using System;
using System.IO;
using System.Text;namespace CSharpDemo
{class Programma{static void Main(string[] args){string path = @"E:\MyTest.txt";if (File.Exists(path)) // 校验文件是否存在{File.Delete(path);}// 创建并写入文件using (FileStream fs_write = File.Create(path)){byte[] info = new UTF8Encoding(true).GetBytes("123");fs_write.Write(info, 0, info.Length);byte[] info1 = new UTF8Encoding(true).GetBytes("456789");fs_write.Write(info1, 0, info1.Length);}// 读取文件using (FileStream fs_read = File.OpenRead(path)){byte[] byteArr = new byte[1024];UTF8Encoding coding = new UTF8Encoding(true);while (fs_read.Read(byteArr, 0, byteArr.Length) > 0){Console.WriteLine(coding.GetString(byteArr));}}Console.ReadKey();}}
}
C# 之 FileStream类介绍相关推荐
- C# FileStream类:文件读写
在 C# 语言中文件读写流使用 FileStream 类来表示,FileStream 类主要用于文件的读写,不仅能读写普通的文本文件,还可以读取图像文件.声音文件等不同格式的文件. 在创建 FileS ...
- C#_文件读写常用类介绍
首先要熟悉.NET中处理文件和文件夹的操作.File类和Directory类是其中最主要的两个类.了解它们将对后面功能的实现提供很大的便利. 本节先对和文件系统相关的两个.NET类进行简要介绍 ...
- C# FileStream简单介绍和使用
本章讲述:FileStream类的基本功能,以及简单示例; 1.引用命名空间:using System.IO; 2.注意:使用IO操作文件时,要注意流关闭和释放问题! 强力推荐:将创建文件流对象的过程 ...
- FileStream类
FileStream类的官方介绍请见: https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx 一.使用FileStrea ...
- Hbase API中常用类介绍和使用
网上Hbase的介绍有很多,案例也不少.自己写了个Demo,进行一些简单的总结. HBase 常用类介绍. JAVA API 和 HBase数据库模型之间的关系 JAVA 类 Hbase 数据模型 H ...
- C#中的Dictionary字典类介绍(转载)
C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典 作者:txw1958 原文:http://www.cnblogs.com/txw1958/archive/2012/ ...
- Java中BigDecimal类介绍及用法
Java中BigDecimal类介绍及用法 Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高 ...
- C++/C--istringstream、ostringstream、stringstream 类介绍【转载】
文章目录 1 C++的输入输出分为三种: 1.1 基于控制台的I/O 1.2 基于文件的I/O 1.3 基于字符串的I/O 2 头文件 3 功能 4 具体分析 4.1 istringstream类 4 ...
- Java核心类库-IO-File类介绍和路径分割符
Java的IO:类和接口存在于Java.io包中 讲IO操作之前,必须要先讲File类(文件/目录) File类介绍和路径分割符: File类是IO包中唯一表示磁盘文件和磁盘目录的对象的路径. 该类包 ...
最新文章
- 谷歌、阿里们的杀手锏:三大领域,十大深度学习CTR模型演化图谱
- 科学通报:合成微生物群落的构建与应用
- 计算机软件通常称为,计算机软件通常分为
- hdu 5310 Souvenir
- c#队列取值_C# 队列
- IntelliJ idea学习资源
- js添加广告模块,随页面移动而移动
- 基于JAVA+SpringMVC+Mybatis+MYSQL的学校教务查询系统
- linux中python如何调用matlab的数据_如何在Python中创建Gif动图?(动图数据可视化基础教学)
- 算法第四版C++算法实现全集
- chromedriver与chrome各版本及下载地址
- 谷歌浏览器和谷歌搜索_Google的搜索未来
- Python手撕周杰伦158首歌之后,结果很尴尬,TF-IDF有缺陷,以为AI是王者
- linux 对战平台,【浩方对战平台和搜狗输入法 For Linux哪个好用】浩方对战平台和搜狗输入法 For Linux对比-ZOL下载...
- 住院病人主要由护士护理,这不仅需要大量的护士,而且不能随时观察危重病病情,会延误抢救时机以计算机为中心的患者监护系统,写出系统的可行性。并可以系统印出某个指定病人的病情报告。...
- 网络常见状态码大全。收藏这一篇就够了(HTTP Status Code)
- HG30-3B型多功能校准仪
- The request was rejected because the URL contained a potentially malicious String “//“ 报错
- BGA焊接开裂失效分析案例
- iOS中视频播放的学习
热门文章
- 北邮计算机考研分数不高,考研经验-报考北邮,分数不高不低怎么办?
- [CTFshow]吃鸡杯
- JS面向对象定义多个属性--object.defineProperties()方法
- 高通骁龙芯片资料和开发工具下载
- 天载股票开户芯片业布局升级 难解汽车缺芯“近渴”
- 怎样判断java成员方法,【判断题】在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、static、protected和public...
- 基于EasyDL的小麦检测任务
- C语言程序练习,某团购网某自助烤肉店周年庆。正常自助58元一位。周年庆团购,团购人数越多打折越多
- 厦门 服务器管理系统,厦门erp电商管理系统排行榜
- 使用VMware在输入模式下遇到的问题