與Java中的各種檔案流,網路流類似,.net中也有各類流。流的主要用途就是與應用程式外部的檔案或資料來源進行資料互動。基類為Stream,定義在命名空間System.IO下;
之後是我們的程式碼:
二,循環分批的複製
為了測試下面這段程式碼,建議找個大點兒的文件啥滴。
#region 使用流进行一次性复制 //创建一个文件流对象(参数一:指定了文件的位置;参数二:枚举值,指定操作系统打开文件的方式;参数三:表明了打开文件的意图;注意第二个参数与第三个参数要注意搭配使用) Stream source = new FileStream(@"C:/Users/v-liuhch/Desktop/StreamTest.txt", FileMode.Open, FileAccess.Read); byte[] buffer = new byte[source.Length]; //将文件数据写入到字节数组中(参数一:要写入的字节数组; 参数二:用于设定文件从哪个位置开始读取;参数三:读取的字节数) int byteRead = source.Read(buffer, 0, (int)source.Length);//返回值为读取到的字节数 //foreach (var b in buffer) //{ // // Console.WriteLine(Convert.ToString(b, 2));//二进制 // //Console.WriteLine(Convert.ToString(b, 10));//十进制 // Console.WriteLine(Convert.ToString(b, 16).ToUpper());//十六进制 //} //Console.ReadKey(); //将文件写入StreamTarget.txt using (Stream target = new FileStream(@"C:/Users/v-liuhch/Desktop/StreamTarget.txt", FileMode.Create, FileAccess.Write)) { target.Write(buffer, 0, buffer.Length); } source.Dispose(); #endregion
PS:建議使用using;
對大檔案採取分割讀取的方式還是比較科學滴,類似大檔案上傳的原理。
以上就是.net 流-使用串流進行檔案複製的內容,並有更多相關內容請關注PHP.php.com!