大文本文件如何处理

时间:2023-01-05 23:46:40
我的文本文件可能很大,大到几个G,或可能超过10个G,但里面内容肯定只有字母和数字。
现在是文本文件经其它软件修改后,写入到文件里,会添有可能加头文件,请问如何判断文本正文从哪里开始。

17 个解决方案

#1


文件大其实没关系,打开文件也不会慢,文件的打开只是得到文件句柄,不是把内容加载上。


另外:
1.如果头部分比正文少就从前向后找正文开始部分,否则从后向前找。
2.无论怎么找,都是通过特殊的标示或字符规律找。这个你自己应该是最清楚的吧。

#2


引用 1 楼 fengrx 的回复:
文件大其实没关系,打开文件也不会慢,文件的打开只是得到文件句柄,不是把内容加载上。


另外:
1.如果头部分比正文少就从前向后找正文开始部分,否则从后向前找。
2.无论怎么找,都是通过特殊的标示或字符规律找。这个你自己应该是最清楚的吧。


+1

#3


顶顶顶!!!!

#4


文件大,用内存文件映射

#5


学习学习

#6


楼上的学什么呢,都没有讲如何找到正文。

#7


楼主的问题没描述清楚:
何为文本正文, 
文本文件中, 除了文本正文,还有其他的组成部分?

#8


处理后 压缩了的话 你怎么找? 加密了呢?

所以我认为直接找 或者说直接比对 这种方式 不一定可行。

你先去研究  新生成的文件的 文件格式吧

#9


在文件开头自己设置某些字符串代表文本开始

#10


文本文件可能很大,大到几个G,或可能超过10个G,但里面内容肯定只有字母和数字。
现在是文本文件经其它软件修改后,写入到文件里,会添有可能加头文件,请问如何判断文本正文从哪里开始。

下载一个Ultra edit 打开文件看看,是否添加了其它“头文件”,再用VC处理。

#11


传输大文件,读写超大文件 用内存文件映射 是必须的.

#12


不知道你的头和正文有什么特征

#13


CreateFileMapping

MapViewOfFile

这两个函数能够满足你的要求

#14


楼上的都没有用二进制工具打开过文本文件吗,文本文件开始还有其它内容的,并不直接就是正文开始,像UTF-8文本文件,可以在前面加些内容,来表示本文本格式是utf-8,这个称作utf-8 ROM,我是想知道这个开头的二进制内容的规则。或是正文开始是规则。

10楼说的Ultra edit,我就是因为生成了那么大的文本文件,然后用Ultra edit来修改,但修改后,它可能在文本文件开头加点东西进去,我想知道它加这东西的规则。

#15


如果你的文本文件只有字母和数字
第一个编码小于128的就是正文了吧

#16


引用 14 楼 mowanglijiang 的回复:
10楼说的Ultra edit,我就是因为生成了那么大的文本文件,然后用Ultra edit来修改,但修改后,它可能在文本文件开头加点东西进去……


你把一个短的txt文件,
在文件开头自己设置某些字符串代表文本开始。
用Ultra edit处理一下,再保存,然后与原文件比较一下大小,看是大小否有变化。
用notepad打开看一下,看文本是否有变化。

#17


引用 15 楼 xianglitian 的回复:
如果你的文本文件只有字母和数字
第一个编码小于128的就是正文了吧

谢谢,一句话提醒了我,只要判断编码是48到122之间就表示正文开始了。

#1


文件大其实没关系,打开文件也不会慢,文件的打开只是得到文件句柄,不是把内容加载上。


另外:
1.如果头部分比正文少就从前向后找正文开始部分,否则从后向前找。
2.无论怎么找,都是通过特殊的标示或字符规律找。这个你自己应该是最清楚的吧。

#2


引用 1 楼 fengrx 的回复:
文件大其实没关系,打开文件也不会慢,文件的打开只是得到文件句柄,不是把内容加载上。


另外:
1.如果头部分比正文少就从前向后找正文开始部分,否则从后向前找。
2.无论怎么找,都是通过特殊的标示或字符规律找。这个你自己应该是最清楚的吧。


+1

#3


顶顶顶!!!!

#4


文件大,用内存文件映射

#5


学习学习

#6


楼上的学什么呢,都没有讲如何找到正文。

#7


楼主的问题没描述清楚:
何为文本正文, 
文本文件中, 除了文本正文,还有其他的组成部分?

#8


处理后 压缩了的话 你怎么找? 加密了呢?

所以我认为直接找 或者说直接比对 这种方式 不一定可行。

你先去研究  新生成的文件的 文件格式吧

#9


在文件开头自己设置某些字符串代表文本开始

#10


文本文件可能很大,大到几个G,或可能超过10个G,但里面内容肯定只有字母和数字。
现在是文本文件经其它软件修改后,写入到文件里,会添有可能加头文件,请问如何判断文本正文从哪里开始。

下载一个Ultra edit 打开文件看看,是否添加了其它“头文件”,再用VC处理。

#11


传输大文件,读写超大文件 用内存文件映射 是必须的.

#12


不知道你的头和正文有什么特征

#13


CreateFileMapping

MapViewOfFile

这两个函数能够满足你的要求

#14


楼上的都没有用二进制工具打开过文本文件吗,文本文件开始还有其它内容的,并不直接就是正文开始,像UTF-8文本文件,可以在前面加些内容,来表示本文本格式是utf-8,这个称作utf-8 ROM,我是想知道这个开头的二进制内容的规则。或是正文开始是规则。

10楼说的Ultra edit,我就是因为生成了那么大的文本文件,然后用Ultra edit来修改,但修改后,它可能在文本文件开头加点东西进去,我想知道它加这东西的规则。

#15


如果你的文本文件只有字母和数字
第一个编码小于128的就是正文了吧

#16


引用 14 楼 mowanglijiang 的回复:
10楼说的Ultra edit,我就是因为生成了那么大的文本文件,然后用Ultra edit来修改,但修改后,它可能在文本文件开头加点东西进去……


你把一个短的txt文件,
在文件开头自己设置某些字符串代表文本开始。
用Ultra edit处理一下,再保存,然后与原文件比较一下大小,看是大小否有变化。
用notepad打开看一下,看文本是否有变化。

#17


引用 15 楼 xianglitian 的回复:
如果你的文本文件只有字母和数字
第一个编码小于128的就是正文了吧

谢谢,一句话提醒了我,只要判断编码是48到122之间就表示正文开始了。