日期:2014-05-17  浏览次数:20764 次

怎么把一个文件读到stream中?
同事让我调用他写的一个函数 MemoryStream ImgEncode(Stream a)进行文件加密。
那我需要把文件读到stream中,再调用这个函数,再把返回的MemoryStream 写到另一个文件中去。  我初学C#不久,不知这该怎么写啊?  

我看网上的都是用filestream或streamreader去读文件, 好像没看到用stream去读文件,不知filestream与streamreader怎么转成stream呢?

------解决方案--------------------
refer : http://wen49880132.blog.163.com/blog/static/144690820121118101751739/
------解决方案--------------------
filestream是stream的一个派生类。stream是抽象基类。你可以认为filestream就是stream。
------解决方案--------------------

        public static void EncryptFile(String fileIn, String fileOut, String Password)
        {
                FileStream fsIn = new FileStream(fileIn, FileMode.Open, FileAccess.Read);
                FileStream fsOut = new FileStream(fileOut, FileMode.Create, FileAccess.Write);
                CryptoStream cs = new CryptoStream(fsOut);
                byte[] buffer = new byte[BUFSIZE];
                int bytesRead;
                while ((bytesRead = fsIn.Read(buffer, 0, BUFSIZE)) > 0)
                {
                    cs.Write(buffer, 0, bytesRead);
                }
                cs.Close();
                fsIn.Close();