用FileStream加byte[]字节数组缓冲区读写文件

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            //思路:就是现将要赋值的多媒体文件读取出来,然后希望如到你制定的位置
            string source = @"D:\教程\1.txt";
            string target = @"D:\教程\2.txt";
            CopyFile(source, target);
            Console.WriteLine("Copy Complete!");
            Console.ReadKey();
        }
        public static void CopyFile(string source,string target)
        {
            //1。我们创建一个负责读取的流 fsRead
            using(FileStream fsRead = new FileStream(source,FileMode.OpenOrCreate,FileAccess.Read))
                //使用using语句减免代码,FileStream(src,mode,acs),节省Close() & Dispose()
            {
                //2.创建一个负责写入的流 fsWrite
                using(FileStream fsWrite = new FileStream(target,FileMode.OpenOrCreate,FileAccess.Write))
                //使用using语句减免代码,FileStream(src,mode,acs), 节省Close() & Dispose(),两个using嵌套,内部先Close() & Dispose()
                {
                    byte[] buffer = new byte[1024*1024*5];
                    //因为文件可能会比较大,所以我们在读取的时候,应该通过一个循环去读取
                    while (true)//循环去读取写入
                    {
                        //返回本次实际读取到的字节数
                        int r = fsRead.Read(buffer, 0, buffer.Length);
                        //读取
                        //如果返回一个0,也就意味着什么都没有读取到,表示读取完了
                        if (r == 0)
                        {
                            break;
                        }
                        fsWrite.Write(buffer,0,r);
                        //写入
                    }

                }
            }
        }
    }
}
时间: 2024-08-04 13:18:52

用FileStream加byte[]字节数组缓冲区读写文件的相关文章

android byte字节数组转换十六进制字符串(物联网开发总结)

想起前段时间的物联网的外包开发,经常遇到通过wifi接受的数据,要通过转换成十六进制字符串,或者最后又是十进制数据.都是根据双方的协议来开发的.那么我发送过去的数据也需要,经过特殊转换成byte字节发过去,硬件那边收到不至于乱码的数据. 1.硬件调试发给android这边是十六进制数据 原始数据:68 38 38 68 A 72 78 55 34 12 43 23 01 07 Y 00 00 00 0C 13 78 56 34 12 0C 3B 78 34 12 0C 26 78 56 34 1

Image控件显示以byte[]字节数组形式存在的图片

工作中遇到了这样的一个问题.起初觉得很简单,获得了图片的byte[]后,可以将其转换成内存中的图片对象(如System.Drawing.Image),而后赋给页面的Image控件.尝试后才发现这样根本做不到.搜索网络,整理出两种实现的方法. 示例代码在此! 一.引入一新页面.aspx,Image控件URL指向该页面 该页面ImageSource.aspx只完成一件事:将代表图片的byte[]写入http输出流. 1 Response.BinaryWrite(imgBytes); 该页面的执行效果

字节数组用txt文件保存工具类

public void saveToSDTemp11Byte(byte[] dataResult,String fileName) { FileOutputStream os = null;//文件输出流用于写文件 String temp=null;//录音数据字符串的形式保存在该文件中,便于做仿真对比 // 数据存储文件 String fileNameTemp = fileName+".txt"; // 获得SD卡路径 File file = new File(Environment

Java IO学习笔记(三)转换流、数据流、字节数组流

转换流 1.转换流:将字节流转换成字符流,转换之后就可以一个字符一个字符的往程序写内容了,并且可以调用字符节点流的write(String s)方法,还可以在外面套用BufferedReader()和BufferedWriter,并使用它们的readLine 和 newLine方法. 2.有两种转换流:InputStreamReader.OutputStreamWriter 练习小程序1: package test.io.transfer; import java.io.FileOutputSt

内存流(字节数组流)ByteArrayInputStream

package org.example.io; import java.io.ByteArrayInputStream;import java.io.IOException; /** * ByteArrayInputStream:在创建对象时传入数组即可,不需要传文件,也没有新增的方法,close()关闭无效 * 流本身就是内存中的资源,流中的内容也是内存中的资源,所以不用手动关闭,内存会给他释放,所以不用关闭流 * 流的内容是内存中的资源,不访问磁盘 */ public class TestB

Java中文件与字节数组转换

注:来源于JavaEye 文件转化为字节数组: http://www.javaeye.com/topic/304980 [c-sharp] view plaincopy /** * 文件转化为字节数组 * * @param file * @return */ public static byte[] getBytesFromFile(File file) { byte[] ret = null; try { if (file == null) { // log.error("helper:the

文件和流(使用流读写文件)

.NET Framework 在框架的多个领域里使用了流模型.流是允许你用相似的方式(作为顺序字节流)对待不同数据源的一种抽象.所有 .NET 流类从 System.IO.Stream 类继承. 流可以代表内存缓冲器中的数据.从网络连接获得的数据.从文件获得的或要写入文件的数据. 下面这段代码演示了如何创建一个新文件并用 FileStream 写入一个字节数组: FileStream fileStream = null; try { fileStream = new FileStream(fil

转:Java读写文件各种方法及性能比较

干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件读写是一个在项目中经常遇到的工作,有些时候是因为维护,有些时候是新功能开发.我们的任务总是很重,工作节奏很快,快到我们不能停下脚步去总结. 文件读写有以下几种常用的方法 1.字节读写(InputStream/OutputStream) 2.字符读取(FileReader/FileWriter) 3.

golang byte转string 字节数组转字符串的问题

golang语言本身就是c的工具集,开发c的程序用到的大部分结构体,内存管理,携程等,golang基本都有,他只是在这个基础上又加了一些概念这里说一个很小的问题,就是字节数组转string的问题,网上大部分都是这样转的(包括google上):string(p[:]),这个转完了是有问题的,我们再来看一下string这个结构体: struct String{        byte*   str;        intgo   len;}; 这个结构体让我想起了nginx的string,他是这样定