现有一个每行固定格式的.txt文本,我需要每行进行解析、处理并导入数据库。
我采用的是readline的方式处理。
当行数不多时,还可以。
当行数多时,内存占用大,效率低。
请问如何处理更合理?
针对所有文件(文本,非文本)
File file = new File("filename");
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file),10*1024*1024); // 用10M的缓冲读取
专门针对文本文件,还可以使用BufferedReader指定缓冲
File file = new File("filename");
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(fis),10*1024*1024);// 用10M的缓冲读取文本文件
我给的代码是占用10M的缓冲,也就是说,无论你读取多大的文件,他只占用大约10M的内存空间进行处理。他会自动从文件里面读取剩余部分的。
你的代码只需要继续 readLine(), 就行了。
分享到:
相关推荐
在处理大数据量的文本文件时,Java 提供了多种方式来实现高效、低内存占用的文件读取操作。本文将围绕标题“java读取超大文本文件”及其相关描述和部分代码片段进行深入解析,探讨如何有效地读取大型文本文件。 ###...
对于大文本文件,一次性读入内存可能会超出系统资源限制,所以通常采用流式读取,即每次只读取一部分内容,处理后再读取下一部分。结合多线程,每个线程可以负责读取文件的一部分,这样既避免了内存压力,又提高了...
读取大文本文件时,如果使用单线程,可能会造成程序阻塞,特别是在内存有限的情况下,一次性加载整个文件可能导致资源消耗过大。而多线程读取则可以分块处理文件,避免一次性加载所有数据,提高程序响应速度。 在...
在VC6.0环境下,处理超大TXT文本文件时,普通的文件读取方法,如fread函数,可能会遇到性能和内存限制的问题。这是因为当文件过大时,一次性加载到内存会导致内存溢出。为了解决这个问题,我们可以利用MFC库中的...
超大文本文件编辑器是一种专为处理容量超过常规编辑器限制的大型文本文件而设计的软件工具。在日常工作中,由于各种原因,我们可能会遇到体积庞大的日志文件、数据库导出文件或者大型文本数据集,这时传统的文本编辑...
在C语言中,读取文本文件可以使用stdio库中的函数,例如fopen、fread、fgets等。 在C语言中,读取文本文件的基本步骤如下: 1. 打开文件:使用fopen函数打开要读取的文本文件,指定打开模式为读取模式("r"); 2....
本示例聚焦于使用C#语言读取大型文本文件(如4GB大小)并将其批量写入数据库(每次处理100万条记录)。这种操作在大数据处理场景下尤为常见,因为一次性读取和处理整个大文件可能会导致内存溢出,因此采用分批处理的...
超大文本文件查看编辑器是一种专门设计用于处理大型文本文件的工具,它的主要功能包括快速打开、编辑、搜索以及行跳转。在信息技术领域,尤其是数据处理和日志分析等场景,经常需要处理数GB甚至更大的文本文件。传统...
Java中读写文本文件主要依赖于`InputStream`和`OutputStream`的使用,结合`Reader`和`Writer`接口的实现类如`BufferedReader`和`PrintWriter`,可以高效地完成文件的读取和写入操作。掌握这些核心类的使用是进行文件...
我们使用从内存映射文件读取数据accessor.ReadArray。我们将数据读回字节数组,然后将其转换为字符串。内存映射文件是大型文件的绝佳选择,因为它们提供了对数据的高效随机访问,减少了 I/O 开销,并显着提高了读写...
假设我们需要处理一个非常大的文本文件,并从中提取特定的信息。使用内存映射文件的方法如下: 1. **打开文件并创建内存映射对象**:按照上述步骤创建内存映射文件对象。 2. **遍历文件数据**:由于文件可能很大,...
在C#编程中,读写文本文件是常见的操作,尤其对于初学者来说,理解并掌握这一技能至关重要。本文将深入探讨如何使用C#进行文本文件的读写,并确保在处理不同编码格式时不会产生乱码,这对于跨平台或处理多语言内容的...
在C++编程中,读取文本文件并进行单词统计是一项常见的任务,这涉及到文件I/O操作、字符串处理以及数据结构的运用。以下是一份详细的知识点解析: 1. **文件I/O操作**:C++标准库提供了`fstream`库来进行文件的读写...
对于更复杂的操作,如在MFC环境下,我们可以使用`CFile`类来读写文本文件。`CFile`类提供了丰富的文件操作接口,包括打开、关闭、读取和写入等。下面是一个使用MFC读写的例子: ```cpp #include int main() { ...
在编程领域,有时候我们需要处理大型...总之,易语言的这种随机读取大文本文件一行的功能,既高效又节省内存,是处理大文件场景的一个实用工具。通过深入理解和实践,开发者能够灵活运用这个方法,解决各种实际问题。
// 假设文件为文本文件,以下代码用于读取文件内容 char* pszFileData = (char*)pBaseAddress; // 处理文件数据 ``` 5. **解除映射和关闭文件**: ```cpp UnmapViewOfFile(pBaseAddress); // 解除映射 ...
在C语言中,读写文本文件主要使用`fopen()`函数以"r"(读)或"w"(写)模式打开文件,对于追加内容则使用"a"模式。`fgets()`和`fputs()`函数用于读写字符串,`scanf()`和`printf()`可以处理格式化的输入输出。而读写二...
这在处理文本文件时特别实用,比如读取日志、CSV数据等。这个函数可能包括读取指定行的数据、处理行结束符(如换行符)以及错误处理等细节。 条件查询是高级功能,允许开发者根据特定条件筛选文件中的数据。这可能...
在IT行业中,文本文件读取是一项基础且重要的任务,尤其在处理配置文件时。配置文件通常包含了一系列设置或参数,用于控制程序的行为。本话题主要关注如何封装一个工具类,以便于批量处理这些文本配置文件,特别是...
4. **写入文本文件**:使用`FileOutputStream`和`PrintStream`创建一个文本输出流,将ASCII字符写入文本文件。 5. **关闭流**:操作完成后,务必关闭输入流和输出流,防止资源泄露。 下面是一个简化的Java代码示例...