现在的位置: 首页 > 综合 > 正文

简单的文件流写读

2013年04月17日 ⁄ 综合 ⁄ 共 1652字 ⁄ 字号 评论关闭

#region 文件流写入
    private void WriteFileInfo()
    {
        FileInfo myFile = new FileInfo(@"c:\tem\aa.txt");
        FileStream stream=null;
        //if (!myFile.Exists())
        //{
        //    stream = myFile.Create();
        //}
        stream = myFile.Open(FileMode.OpenOrCreate);
        byte[] byteArr = { 0x00, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF };
        stream.Write(byteArr,0,byteArr.Length-1);
        stream.Flush();
        stream.Close();
       
    }
    #endregion

如果文件系统信息被改变了,应该调用Refresh()方法

可以有很多方法创建文件流的,我们也可以

实例化一个文件流

FileStream stream=new FileStream(myfile,FileMode.Create);

 

 

#region 读取文件流
    private void ReadFileStream()
    {
        FileStream fileStream = null;
        try
        {
            fileStream = new FileStream(@"c:\tem\aa.txt", FileMode.Open);
            byte[] dataArry = new byte[fileStream.Length];
            for (int i = 0; i < fileStream.Length; i++)
            {
                dataArry[i] = (byte)fileStream.ReadByte();
            }
        }
        finally
        {
            if (fileStream != null)
                fileStream.Close();
        }
    }
    #endregion

就本身而言,流不太有用,因为他们完全以单个字节数组的形式工作,.net有一个更有用的读写对象的高层模型被弥补这一个鸿沟,这些对象封装流对象并允许你写入更复杂的数据。

很多流的一些函数的操作你可以自己查找.net框架里File类,FileStream类,FileInfo类,StreamWriter类,StreamReader类

 FileStream fileStream = new FileStream(@"c:\temp\aa.txt", FileMode.Create);
 StreamWriter w = new StreamWriter(fileStream);

与StreamWriter w = File.CreateText(@"c:\temp\aa.txt");功能相同

w.WriteLine("what is this");
w.WriteLine(1000);

 

#region 用StreamReader读出数据
    private void ReadStream()
    {
        StreamReader r = File.OpenText(@"c:\myFile.txt");
        string line;
        do
        {
            line=r.ReadLine();
        }while(line!=null);
    }
    #endregion

我们用BinaryWriter,BinaryReader读取二进制文件,读取数据时,你必须知道要获取的数据类型


抱歉!评论已关闭.