文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>FileStream的读取和写入

FileStream的读取和写入

时间:2011-03-16  来源:墟零

使用 FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream 对输入输出进行缓冲,从而提高性能。

 先看代码,后面讲解:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//注意,必不可少

namespace WasteIndustry {
    public partial class Form3 : Form {
        public Form3() {
            InitializeComponent();
 /*
 * C# Program
 * Author:神舟龙
 * Email: [email protected]
 */

        }

        private void Form3_Load(object sender, EventArgs e) {
            //创建一个文本文件,并实例化一个文件流
            FileStream MyFileStream1 = new FileStream(@"D:\Test.text",FileMode.Create);
            
            FileInfo MyFiles = new FileInfo(@"D;\Test.text");
            //实例化一个只读文件流
            FileStream MyFileStream2 = MyFiles.OpenRead();

            //设置文件流为只写权限
            MyFileStream2 = MyFiles.OpenWrite();
            //设置文件流的打开方式为追加模式,只读权限,不共享
            MyFileStream2 = MyFiles.Open(FileMode.Append,FileAccess.Read,FileShare.None);
            //创建文件
            MyFileStream2 = MyFiles.Create();

            //从文件中读取字节
            int MyBytes = MyFileStream1.ReadByte();
            //定义数组长度
            int NumberOFBytes = 20;
            //byte类型数组
            byte[] MyByteArray = new byte[NumberOFBytes];
            //从文件中读取20个字节放入数组中
            int BytesRead = MyFileStream1.Read(MyByteArray,0,NumberOFBytes);

            //定义一个字节
            byte MyWriteByte = 100;
            //向文件中写入一个字节
            MyFileStream1.WriteByte(MyWriteByte);

            //定义数组长度
            int NumberOfBytesToWrite = 256;
            //定义byte类型数组
            byte[] MyWriteByteArray=new Byte[NumberOfBytesToWrite];

            //循环向byte类型的数组中插入byte值
            for (int i = 0; i < 256; i++) {
                MyWriteByteArray[i]=(byte)i;
                i++;
            }
            //向流中写入数组内容
            MyFileStream1.Write(MyWriteByteArray,0,NumberOfBytesToWrite);
            //关闭流
            MyFileStream1.Close();
            //关闭流
            MyFileStream2.Close();
        }
    }
}
MyFileStream1对象,使用指定路径和创建模式实例化,创建模式FileMode是一个枚举类型,它还包括:
Append 可以打开现有的文件并查找的文件尾部,FileMode.Append只能与FileAcces.Write(写权限)一起使用
Create 创建新文件,如果文件存在则覆盖,没有则新建
CreateNew 创建新文件,有的话,出现异常
Open 打开现有的文件,如果有打开,不存在文件就会引发异常
如果存在文件则打开,不存在则创建 如果存在文件则打开,不存在则创建
MyFileStream2对象,用FileInfo实例化,FileInfo方法有open,openreade,opentext,create,createtext。

文件流的读取(read)与写入(write);

read

            //定义数组长度
            int NumberOFBytes = 20;
            //byte类型数组
            byte[] MyByteArray = new byte[NumberOFBytes];
            //从文件中读取20个字节放入数组中
            int BytesRead = MyFileStream1.Read(MyByteArray,0,NumberOFBytes);

定义一个byte类型的数组,设置数组的长度,read方法就是在文件中从0开始读取,读取20个字节数,然后替换到数组中

  //定义数组长度
            int NumberOfBytesToWrite = 256;
            //定义byte类型数组
            byte[] MyWriteByteArray=new Byte[NumberOfBytesToWrite];

            //循环向byte类型的数组中插入byte值
            for (int i = 0; i < 256; i++) {
                MyWriteByteArray[i]=(byte)i;
                i++;
            }
            //向流中写入数组内容
            MyFileStream1.Write(MyWriteByteArray,0,NumberOfBytesToWrite);
定义一个byte类型的数组,设置数组的长度,并通过循环想byte数组中写入字节,通过write方法把数组中的值从0位置开始向流中写入内容;


转自:http://www.cnblogs.com/shenzhoulong/archive/2011/02/16/1956530.html

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载