【www.gdgbn.com--php常用代码】

asp教程.net 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: hxl2008hxl@hotmai.com
 */

        }

        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.gdgbn.com/jiaocheng/29166/