Artur Panteleev Asked:2020-08-16 04:46:18 +0000 UTC2020-08-16 04:46:18 +0000 UTC 2020-08-16 04:46:18 +0000 UTC 在弱机上解析巨大日志文件的最有效方法是什么? 772 有一个 1gb 内存的服务器。在 70gb 上有一个日志文件 nginx(任何其他 Web 服务器)。考虑到所描述的资源限制,如何尽快收集站点用户的用户代理的统计信息。 алгоритм 2 个回答 Voted Mikhail Vaysman 2020-08-16T05:10:52Z2020-08-16T05:10:52Z 您逐行读取文件并分析读取的术语。在几乎所有语言中,您都可以在处理文件系统时指定缓冲区大小,因此,尽管您逐行处理文件,系统仍会以固定块的形式读取文件。 Best Answer Senior Pomidor 2020-08-16T05:47:07Z2020-08-16T05:47:07Z 您可以使用 Java 中的 StringTokenizer,它允许您逐行读取文件,而不会浪费内存存储文件的所有行。 StringTokenizer tok = new StringTokenizer("/path/to/file"); while (tok.hasMoreTokens()) { String line = tok.nextToken(); // работаешь со строкой. } 也可以在构造函数中指定分隔符,默认为\t\n\r\f
您逐行读取文件并分析读取的术语。在几乎所有语言中,您都可以在处理文件系统时指定缓冲区大小,因此,尽管您逐行处理文件,系统仍会以固定块的形式读取文件。
您可以使用 Java 中的 StringTokenizer,它允许您逐行读取文件,而不会浪费内存存储文件的所有行。
也可以在构造函数中指定分隔符,默认为
\t\n\r\f