FileStream常用的属性和方法:
对流进行操作时要引用 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.关闭文件流
FileStream常用的属性和方法:的更多相关文章
- FileStream常用的属性和方法 (转)
对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法: 属性: CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取 CanW ...
- FileStream 常用的属性和方法
FileStream常用的属性和方法 (转) 对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法: 属性: CanRead 判断当前流是否支持读取, ...
- dom对象常用的属性和方法有哪些?
dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...
- JavaScript常用全局属性与方法
最近,在学习JavaScript,Java作域链包含全局,记录下常用的全局属性与方法,就当是知识的积累,未列出全部,如需查看全部可参考JS相关的API文档. 常用的全局属性: 全局属性 作 ...
- DOM常用的属性和方法
之前一直傻傻分不清DOM和JavaScript究竟有什么区别,随着相关工作时间的增长,开始逐渐区分DOM和JavaScript了,最近,也一直在复习有关DOM方面的知识,<JavaScript ...
- 113.Pageinator和Page类常用的属性和方法
Paginator和Page类: Paginator和Page类都是用来分页的,他们在Django中的路径为django.core.paginator.Pageinator和django.core.p ...
- js中Math对象常用的属性和方法
1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...
- List(数组)里面常用的属性和方法
常用属性: length 长度 reversed 翻转 isEmpty 是否为空 isNotEmpty 是否不为空常用方法: add 增加 addAll 拼接数组 增加多个数据 list.addAll ...
- EsayUi中常用的属性和方法总结
文章转载自http://www.jb51.net/article/26077.htm 详细了解请查看官方文档 属性分为CSS片段和JS片段 CSS类定义:1.div easyui-window ...
随机推荐
- Hadoop2源码分析-RPC机制初识
1.概述 上一篇博客,讲述Hadoop V2的序列化机制,这为我们学习Hadoop V2的RPC机制奠定了基础.RPC的内容涵盖的信息有点多,包含Hadoop的序列化机制,RPC,代理,NIO等.若对 ...
- JavaServer Faces生命周期概述
JavaServer Faces应用程序的生命周期在客户端为页面发出HTTP请求时开始,并在服务器响应该页面并转换为HTML时结束. 生命周期可以分为两个主要阶段:执行和渲染.执行阶段进一步分为子阶段 ...
- C++ STL 学习
/* algorithm-算法 */ .copy() //此函数用在vector中只做拷贝使用,它不能让vector有自动扩充作用.如果vector的容量小于它拷贝的数据量将会报错. /* itera ...
- ArcGIS紧凑型切片读取与应用3-紧凑型批量转分散型(附源码)
1.前言 上篇介绍了webgis动态加载解析紧凑型切片的例子,现在我们使用逆向思维实现紧凑型切片转分散型切片,在实际工作中很有用处,紧凑型切片易于拷贝,但读取只有部署到Arcgis Server才行. ...
- zoj 1151 Word Reversal(字符串操作模拟)
题目连接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1151 题目描述: For each list of words ...
- Quartz2D指定显示范围
在qq中,可以看到头像是圆形显示的,通过CGContextClip可以设置 CGContextRef context=UIGraphicsGetCurrentContext(); CGContextA ...
- [转]本地 Windows 计算机密码登录 登录 腾讯云 Linux 实例
本文转自:https://cloud.tencent.com/document/product/213/5436? 登录工具 使用 远程登录软件 ,采用密码登录 Linux 实例(本例中选择使用 Pu ...
- ASP.NET 之 EntityFramework实体框架搭建
前段时间接触了EntityFramework,对ORM框架也是有了初步的认识,现在对其进行一点小总结. 一.ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模 ...
- 启用sa账号
第一部分: 如果在安装的时候选中的是Window身份验证,后来需要SQLServer身份验证登录,那么 一.先用window账号登录数据库 二.启用window身份验证和sql sever身份验证方式 ...
- oracle中scott/tiger、sys、SYSDBA、system都是什么用
scott 是个演示用户,是让你学习ORACLE用的 SYSDBA 不是用户,可以认为是个权限,超级权限详细点说吧 超级用户分两种 SYSDBA和SYSOPTSYSOPT 后面3 ...