C#用流读写大文件

Code tells all:

using System;
using System.IO;

namespace CSharpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fsRead = File.OpenRead(@"D:\test\in.txt");
            FileStream fsWrite = File.OpenWrite(@"D:\test\out.txt");
            byte[] buf = new byte[1024 * 8];
            int total = 0;
            while (total < fsRead.Length)
            {
                //注意第二个参数是在buffer中的偏移量,不是在文件中的偏移量
                int real = fsRead.Read(buf, 0, buf.Length);
                fsWrite.Write(buf, 0, real);
                total += real;
            }
            fsRead.Close();
            fsWrite.Close();

            Console.Write("GAME OVER!");
            Console.ReadKey();
        }
    }
}

相关阅读:

1、FileStream.Read 方法

2、FileStream.Write 方法

*** walker ***

时间: 2024-11-08 17:00:44

C#用流读写大文件的相关文章

Java-使用IO流对大文件进行分割和分割后的合并

有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件.分割后的每个小文件的类型可以自己定义. 一下是我编写的一个大文件的分割和合并的代码: package com.lym; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; impor

[PHP学习教程]003.高速读写大数据“二进制”文件,不必申请大内存(Byte Block)

引言:读写大“二进制”文件,不必申请很大内存(fopen.fread.fwrite.fclose)!做到开源节流,提高速度! 每天告诉自己一次,『我真的很不错』.... 加速读写大文件,在实际工作过程当中其实想必很多人都有这样的经历-大家知道,如果使用记事本(notepad)打开10M的文本文件,那会卡到无响应,但是如果使用Sublime或者Notepad++则瞬间打开. 不展开讲了,接口简单,多说无益,直接上码. 函数 <?php /** * 读写大二进制文件,不必申请很大内存 * 只有读取到

C#中XmlTextWriter读写xml文件详细介绍

XmlTextWriter类允许你将XML写到一个文件中去.这个类包含了很多方法和属性,使用这些属性和方法可以使你更容易地处理XML.为了使用这个类,你必须首先创建一个新的XmlTextWriter对象,然后你可以将XML片断加入到这个对象中.这个类中包含了不少的方法用于将各种类型的XML元素添加到XML文件中,下表给出了这些方法的名字和描述情况: 方法 描述 WriteStartDocument 书写版本为"1.0"的 XML 声明 WriteEndDocument 关闭任何打开的元

文件流读写、大文件移动 FileStream StreamWriter

文件流读写 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace _09文件流 { class Program { static void Main(string[] args) { //string msg = "飞流直下三千尺"; ////字符串转字节数组 //byte[] buffer = System.Tex

C# IO操作(四)大文件拷贝(文件流的使用)、文件编码

     大文件拷贝(文件流的使用).文件编码 首先说一下大文件拷贝和文件流,因为计算机的内存资源是有限的,面对几个G甚至更大的文件,需要通过程序来完成拷贝,就需要用到文件流(因为我们无法做到把文件一次性加载到内存中:事实上,内存也不允许这么干),所以在C#中出现了内存流这个东西.先看下面的内容,File类中的常用读取文件方法会将文件内容一次性全部加载到内存中: 1 string sPath = @"C:\Users\Chens-PC\Desktop\Nginx.txt"; 2 //F

17 大文件的读写

1.大文件的读写方法 2.字符流的使用方法 字符流:读写文件时以字符为基础 字节输入流:Reader  <-----FileReader int read(char [] c,int off,int len) 字节输出流:Writer  <------FileWriter void write(char [] c,int off,int len) class Test { public static void main(String args[]) { //声明输入流引用 FileInputS

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

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

【JavaNIO的深入研究4】内存映射文件I/O,大文件读写操作,Java nio之MappedByteBuffer,高效文件/内存映射

内存映射文件能让你创建和修改那些因为太大而无法放入内存的文件.有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问.这种解决办法能大大简化修改文件的代码.fileChannel.map(FileChannel.MapMode mode, long position, long size)将此通道的文件区域直接映射到内存中.注意,你必须指明,它是从文件的哪个位置开始映射的,映射的范围又有多大:也就是说,它还可以映射一个大文件的某个小片断. MappedByteB

java 大文件上传 断点续传 完整版实例 (Socket、IO流)

原文出自:https://blog.csdn.net/seesun2012 java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1.服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2.服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3.服:每接收到一个Socket就建立一个新的线程来处理它 4.客:利用Socket进行远程连接,询问已上传进度 5.客:使用File