IO流

IO流

抽象基类 Stream 支持读取和写入字节。 所有表示流的类都继承自 Stream 类。 Stream 是所有流的抽象基类。 流是字节序列的抽象,例如文件、输入/输出设备、进程中通信管道或 TCP/IP 套接字。 Stream类和其派生的类提供的输入和输出。
流涉及三个基本操作:
读取 - 将数据从流传输到数据结构(如字节数组)中。
写入 - 将数据从数据源传输到流。
查找 - 对流中的当前位置进行查询和修改。
构造函数:
Stream() 初始化 Stream 类的新实例。
字段:
Null 无后备存储区的 Stream。
属性:
CanRead 当在派生类中重写时,获取指示当前流是否支持读取的值。
CanSeek 当在派生类中重写时,获取指示当前流是否支持查找功能的值。
CanTimeout 获取一个值,该值确定当前流是否可以超时。
CanWrite 当在派生类中重写时,获取指示当前流是否支持写入功能的值。
Length 当在派生类中重写时,获取流长度(以字节为单位)。
Position 当在派生类中重写时,获取或设置当前流中的位置。
ReadTimeout 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。
WriteTimeout 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。
FileStream:为文件提供 Stream,既支持同步读写操作,也支持异步读写操作。
class Test
{
public static void Main()
{
string path = @“c:\temp\MyTest.txt”;
if (File.Exists(path))
{
File.Delete(path);
}
using (FileStream fs = File.Create(path))
{
AddText(fs, “This is some text”);
AddText(fs, “This is some more text,”);
AddText(fs, “\r\nand this is on a new line”);
AddText(fs, “\r\n\r\nThe following is a subset of characters:\r\n”);
for (int i=1;i < 120;i++)
{
AddText(fs, Convert.ToChar(i).ToString());
}
}
using (FileStream fs = File.OpenRead(path))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
}
private static void AddText(FileStream fs, string value)
{
byte[] info = new UTF8Encoding(true).GetBytes(value);
fs.Write(info, 0, info.Length);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值