C#-I/O输入输出之FileStream类

I/O数据流提供一种向后备存储读取字节的方式,它是在.NET Framework中执行读写文件操作时的一种非常重要的介质。

我们可以将流视为一组连续的一维数据,包含开头和结尾,并且其中的游标指示了流中的当前位置。

1.流操作

流中包含的数据可能来自内存、文件或TCP/IP套接字,基本操作:

(1)读取:将数据从流传输到数据结构(如字符串货字节数组)中

(2)写入:将数据从数据源传输到流中

(3)查找:查询和修改在流中的位置

2.流类型

流由Stream类表示,该类构成了所有其他流的抽象类。不恩给你直接创建Stream类实例,必须使用它来实现某个I/O流类。

主要包括:

FileStream类,BufferedStream类,CryptoStream类,MemoryStream类和NetworkStream类(这个在之前提到的TcpClient的时候有过)

3.FileStream类

(1)常用属性

Length          获取用字节表示的流长度

Name            获取传递给构造函数的FileStream的名称

Positon         获取或设置此流的当前位置

ReadTimeout     获取或设置一个值,该值确定流在超时前尝试读取多长时间

WriteTimeout    获取或设置一个值,该值确定流在超时前尝试写入多长时间

(2)常用方法

Close           关闭当前流并释放与之关联的所有资源

Read            从流中读取字节块并将该数据写入给定的缓冲区

ReadByte        从文件中读取一个字节,并将读取位置提升一个字节

Seek            将该流的当前位置设置为给定值

SetLength       将该流的长度设置为给定值

Write           使用从缓冲区读取的数据将字节块写入该流

WriteByte       将一个字节写入文件流的当前位置

(3)使用FileStream类操作文件

FileStream类的构造函数的重载方式有很多,包含的重要参数有FileMode枚举

FileMode枚举:

Append        打开现有文件并查找到文件尾或创建新文件,只能与FileAccess.Write

Create        指定操作系统应创建新文件,文件已存在,则改写

CreateNew     指定操作系统应创建新文件,文件以存在,引发IOExecption,需要                   FileIOPermissionAccess.Write

Open          指定操作系统应打开文件,如果文件不存在,引发找不到错误

OpenOrCreate  指定操作系统应打开文件(如果文件存在),否则应创建新文件

Truncate      指定操作系统应打开现有文件,文件一旦打开,将被截断为零字节大                 小。视图从使用Truncate打开的文件中进行读取将导致异常

实例代码:

FileStream filestream = new FileStream("test.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite)

注意:

文件要放在程序运行目录下,否则就需要给构造函数传递绝对地址

C#-I/O输入输出之FileStream类

时间: 2024-10-07 06:15:38

C#-I/O输入输出之FileStream类的相关文章

FileStream类的使用

1.什么是FileStream类 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定为同步或异步操作.FileStream 对输入输出进行缓冲,从而提高性能.--MSDN 简单点说:FileStream类可以对任意类型的文件进行读取操作,而且我们也可以根据自己需要来指定每一次读取字节长度,以此减少内存的消耗,提高读取效率. 2.File和FileStream的区别  直观点:File是一

C++学习43 输入输出有关的类和对象

输入和输出是数据传送的过程,数据如流水一样从一处流向另一处.C++形象地将此过程称为流(Stream).C++的输入输出流是指由若干字节组成的宇节序列,这些宇节中的数据按顺序从一个对象传送到另一对象.流表示了信息从源到目的端的流动.在输入操作时,字节流从输入设备(如键盘.磁盘)流向内存,在输出操作时,字节流从内存流向输出设备(如屏幕.打印机.磁盘等).流中的内容可以是ASCII字符.二进制形式的数据.图形图像.数字音频视频或其他形式的信息. 实际上,在内存中为每一个数据流开辟一个内存缓冲区,用来

FileStream类

使用FileStream能够对对系统上的文件进行读.写.打开.关闭等操作.并对其他与文件相关的操作系统提供句柄操作,如管道,标准输入和标准输出.读写操作可以指定为同步或异步操作.FileStream对输入输出进行缓冲,从而提高性能. FileStream 对象支持使用 Seek 方法对文件进行随机访问.Seek 允许将读取/写入位置移动到文件中的任意位置.这是通过字节偏移参考点参数完成的.字节偏移量是相对于查找参考点而言的,该参考点可以是基础文件的开始.当前位置或结尾,分别由 SeekOrigi

FileStream 类读写操作

1.读取 static void Main(string[] args) { /* * File类最大的问题是,一次性读取,如果文件较大的话,会给内存造成很大压力. * 文件流:把一个较大的文件,可以分成一点一点的读取和写入,内存压力很小. * 三种文件流类:FileStream:操作字节(byte),可读可写,可以操作任何文件. * StreamReader+StreamWriter:操作字符,操作文本文件. */ //1.创建文件流对象 string path=@"D:\CSharp_Net

IOHelper(自制常用的输入输出的帮助类)

常用的读写文件,和地址转换(win和linux均支持),操作文件再也不是拼接那么的low了 using System; using System.Diagnostics; using System.IO; using System.Text; namespace Cactus.Common { /// <summary> /// 常用IO操作类 /// </summary> public class IOHelper { /// <summary> /// 系统路径转换

asp.net中用FileStream类实现下载文件功能,自定义下载路径,像IE下载一样

方法一: //这个值可以从配置文件读取,或者放个textbox让用户填 string path = "你的路径";FileStream outputStream = new FileStream(path , FileMode.Create); 方法二: 直接用Response内置对象把文件以流的形式传到前端,浏览器自动就会识别下载了

C# 基础知识-08----.NET中FileStream 类 和 StreamReader类 和 BinaryRead 类

C#对文件/目录的操作:Path、File、Directory、FileStream、StreamWriter、StreamReader等类的浅析

一.Path:主要对文件路径的操作! 常用方法: String [email protected]"C:\a\b\c\123.txt"; 1-1.Path.GetFileName(path); //获得文件名:123.txt 1-2.Path.GetExtenSion(path); //获得后缀名:.txt 1-3.Path.GetFileNameWithoutExtension(path); //获得无后缀文件名:123 1-4.Path.GetDirectoryName(path)

日志记录类(明确FileStream\Dictionary等用法)

一个好的程序对于日志的处理是必不可少的.好的日志记录可以帮助我们减少更好的查找错误和系统的维护.今天整理一下自己工作中平时用来记录日志的类,同时也补补基础知识. 功能: 根据程序App.config中配置的路径,创建日志文件并将程序的日志写到相应的文件中. 首先来看一下我之前自己写的一个用于写日志的类,源代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using