c-C/C++如何读取、处理大文件

问题描述

C/C++如何读取、处理大文件
RT:我知道的就虚拟内存映射,是否多线程也可以?设内存大小2G,
1.情景:>64kB 2.情景:>2GB

解决方案

内存映射没有问题
多线程,是必须要考虑同步的,特别是即要读、又要写。

解决方案二:
内存映射肯定要用,可以用多线程,那样不阻塞进程

解决方案三:
内存映射肯定要用,可以用多线程,那样不阻塞进程

解决方案四:
内存映射了,线程或者进程都可以

解决方案五:
首先,内存映射是必须的,要不然这么大文件会死人,然后用多线程,主要是不要阻塞了进程,造成死锁就麻烦了

解决方案六:
内存映射然后用多线程

解决方案七:
内存映射已经处理了阻塞问题,在磁盘读写上,多线程意义似乎不大

解决方案八:
内存映射文件处理4G以上的大文件

解决方案九:
内存映射,CreateFileMapping()。比较适合大文件

解决方案十:
内存映射这个适合高效率处理大文件。

时间: 2024-09-13 05:30:57

c-C/C++如何读取、处理大文件的相关文章

PHP快速按行读取CSV大文件的封装类分享

 这篇文章主要介绍了一个PHP快速按行读取CSV大文件的封装类,这个类同时也适用于其它体积较大的文本文件,需要的朋友可以参考下 CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题.   1.如何快速获取CSV大文件的总行数?   办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行: 办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时

文档流-C# 用FileStream读取写入大文件

问题描述 C# 用FileStream读取写入大文件 我想做个上传文件的功能但是大文件会报错有什么办法:比如分段读取 写入代码应该怎么样写? 解决方案 用内存映射类MemoryMappedFilehttp://www.cnblogs.com/briny/archive/2012/11/25/2787188.html 解决方案二: http://wenku.baidu.com/link?url=JWl0eaFhVwzWRqDspe1bJByMm0lOESldyE4lNWo3zwvAGtxQk9Iz

遍历-如何读取一个大文件夹中全部xml文件。将其路径放入哪种容器

问题描述 如何读取一个大文件夹中全部xml文件.将其路径放入哪种容器 现在在一个大的文件夹中,包含了若干个子文件夹,每个文件夹可能包含N个xml,txt等其他文件.现在想通过遍历把这个大的文件夹中所有的xml文件保存到一个容器中.1.请问用什么容器比较好vector?2.最好能来个详细的例子 让鄙人学习下 解决方案 你这种方法用递归比较好,至于容器,你说的是将找到的文件的路径存放起来吧.那个就随便都可以.用List吧. public void findFileByEndStr(String di

randomaccessfile-安卓怎么读取TXT大文件(10M左右)

问题描述 安卓怎么读取TXT大文件(10M左右) 我用RandomAccessFile试过,读取5M就出错了,各位有能读取10M文本的源码吗?麻烦分享一下,谢谢 解决方案 一次性加载到内存中? 搞毛啊 他看到哪里 你读取到哪里 解决方案二: java里filechannel可以操作堆外内存,不知是否适合android

linux-fstat 读取3g大文件,获取文件大小错误显示Value too large for define data type

问题描述 fstat 读取3g大文件,获取文件大小错误显示Value too large for define data type fstat 读取3g大文件,获取文件大小错误显示Value too large for define data type 解决方案 提示信息:需要定义更大的数据类型呀. 解决方案二: Value too large for defined data typegcc 编译错误 Value too large for defined data typereaddir 报

PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)_php实例

CSV大文件的读取已经在前面讲述过了(PHP按行读取.处理较大CSV文件的代码实例),但是如何快速完整的操作大文件仍然还存在一些问题. 1.如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种办法对小文件可行,处理大文件时不可行:办法二:使用fgets一行一行遍历,得出总行数,这种办法比办法一好一些,但大文件仍有超时的可能:办法三:借助SplFileObject类,直接将指针定位到文件末尾,通过SplFileObject::key方法获取总行数,这种办

PHP读取CSV大文件导入数据库的示例

对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指定的某几行数据:  代码如下 复制代码 /**  * csv_get_lines 读取CSV文件中的某几行数据  * @param $csvfile csv文件路径  * @param $lines 读取行数  * @param $offset 起始行数  * @return array  * */

PHP如何快速读取大文件

在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能.但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法. 需求 有一个800M的日志文件,大约有500多万行, 用PHP返回最后几行的内容. 实现方法 1. 直接采用file函数来操作 由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较

java读取大文件简单实例

 这篇文章主要介绍了java读取大文件简单实例,有需要的朋友可以参考一下 我要从一个文本文件中提有用的数据  文本文件200多MB  是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做?    JAVA中可以使用内存映射文件来操作大文件.  最大可达2GB.  下面是个简单的示例,更具体的自己看Java API DOCS或相关资料      代码如下: import java.io.*;  import java.nio.*;  import java.nio.channels.*

PHP几个快速读取大文件例子

 在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file.file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能.但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法. 需求 有一个800M的日志文件,大约有500多万行, 用PHP返回最后几行的内容. 实现方法 1. 直接采用file函数来操作 由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比