-2

我的文件 A.txt 位于特定目录中,并且该目录的大小动态增加,因为一些日志文件保存在那里。每次我打开并读取这个文件,但问题是当内存已满时我无法打开和读取文件

在这里我不能增加内存的大小。有人可以通过提供更好的想法来提供帮助吗

很抱歉问这个笼统的问题。

4

2 回答 2

3

如果整个文件无法放入内存,请不要将整个文件吞入内存;一次处理一行。或者获取更多内存。

于 2012-10-22T14:12:33.217 回答
1

将您的日志文件分成几部分。在分层组织的文件系统中保存单独的文件,并系统地命名它们。因此,如果您之前一天只有一个文件,

log121022.txt

说,

而是创建一个文件夹log120122并在其中存储

log12102201.txt、log12102202.txt等

现在您正在为一天中的每个小时创建一个单独的文件。同样的原则适用于将几周或几个月分成几天等。然后在您的程序中读取和写入您需要的较小文件。要遍历所有这些,您需要编写一个循环,而在您只是打开文件之前,但是这个额外的代码并不是很复杂,而且很明显,花一点时间编写它比不断耗尽内存要好得多。

于 2012-10-22T14:27:28.690 回答