当前位置: 移动技术网 > IT编程>开发语言>c# > FileStream常用的属性与方法总结

FileStream常用的属性与方法总结

2019年07月18日  | 移动技术网IT编程  | 我要评论
对流进行操作时要引用 using system.io; 命名空间 filestream常用的属性和方法: 属性: canread 判断当前流是否支持读取,返回boo

对流进行操作时要引用 using system.io; 命名空间

filestream常用的属性和方法:

属性:

canread 判断当前流是否支持读取,返回bool值,true表示可以读取

canwrite 判断当前流是否支持写入,返回bool值,true表示可以写入

方法:

read() 从流中读取数据,返回字节数组

write() 将字节块(字节数组)写入该流

seek() 设置文件读取或写入的起始位置

flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中

close() 关闭当前流并释放与之相关联的所有系统资源

文件的访问方式:(fileaccess)

包括三个枚举:

fileaccess.read(对文件读访问)

fileaccess.write(对文件进行写操作)

fileaccess.readwrite(对文件读或写操作)

文件打开模式:(filemode)包括6个枚举

filemode.append 打开现有文件准备向文件追加数据,只能同fileaccess.write一起使用

filemode.create 指示操作系统应创建新文件,如果文件已经存在,它将被覆盖

filemode.createnew 指示操作系统应创建新文件,如果文件已经存在,将引发异常

filemode.open 指示操作系统应打开现有文件,打开的能力取决于fileaccess所指定的值

filemode.openorcreate 指示操作系统应打开文件,如果文件不存在则创建新文件

filemode.truncate 指示操作系统应打开现有文件,并且清空文件内容

文件共享方式:(fileshare)

fileshare方式是为了避免几个程序同时访问同一个文件会造成异常的情况。

文件共享方式包括四个:

fileshare.none 谢绝共享当前文件

fileshare.read 充许别的程序读取当前文件

fileshare.write 充许别的程序写当前文件

fileshare.readwrite 充许别的程序读写当前文件

使用filestream类创建文件流对象:

filestream(string 文件路径,filemode 文件打开模式)

filestream(string 文件路径,filemode 文件打开模式,fileaccess 文件访问方式)

filestream(string 文件路径,filemode 文件打开模式,fileaccess 文件访问方式,fileshare 文件共享方式)

例:

//在c盘创建a.txt文件,使用fs流对象对文件进行操作,fs的工作模式是新建(filemode.create)

filestream fs=new filestream(@"c:\a.txt",filemode.create);

//在c盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(filemode.create)文件的访问模式是写入(fileaccess.write)

filestream fs=new filestream(@"c:\a.txt",filemode.create,fileaccess.write);

//在c盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(filemode.create)文件的访问模式是写入(fileaccess.write)文件的共享模式是谢绝共享(fileshare.none)

filestream fs=new filestream(@"c:\a.txt",filemode.create,fileaccess.write,fileshare.none);

使用file类来创建对象:(常用)

自定义打开文件的方式:file.open(string,filemode);

打开文件进行读取: file.openread(string);

打开文件进行写入: file.openwrite(string);

示例如下:

//在c盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以行文件内容追加操作filemode.append

filestream fs=file.open(@"c:\123.txt",filemode.append);

//在c盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行读文件file.openread()

filestream fs=file.openread(@"c:\123.txt");

//在c盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行写操作file.openwrite()

filestream fs=file.openwrite(@"c:\123.txt");

使用file例:

对文件进行读操作:

//新建fs流对象对象产生的路径是textbox1.text的值,文件的模式是filemode.openorcreate(可读可写)

using (filestream fs = file.open(textbox1.text, filemode.openorcreate))
{

//新建字节型数组,数组的长度是fs文件对象的长度(后面用于存放文件)
byte[] bt=new byte[fs.length];

//通过fs对象的read方法bt得到了fs对象流中的内容
fs.read(bt,0,bt.length);

//关闭fs流对象
fs.close();

//将bt字节型数组中的数据由encoding.default.getstring(bt)方法取出,交给textbox2.text
textbox2.text = system.text.encoding.default.getstring(bt);
}

对文件进行写入操作:

//新建fs流对象,对象操作的文件路径在textbox1.text中,fs的操作模式是filemode.create

using (filestream fs = file.open(textbox1.text, filemode.create))
{

//新建字节型数组bt对象,bt对象得到了textbox2.text的encoding的值
byte[] bt = system.text.encoding.default.getbytes(textbox2.text);

//将bt字节型数组对象的值写入到fs流对象中(文件)
fs.write(bt,0,bt.length);

//关闭流对象
fs.close();
}

注:

对文件的读写操多不管代码有多少,无非就是下面的三步:

1.创建文件读写流对象

2.对文件进行读写

3.关闭文件流

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网