`

java 读取大容量文件,内存溢出?

 
阅读更多

 java 读取大容量文件,内存溢出?怎么分段读取

法一:(按一定行数分段读取)

import java.io.IOException;
import java.io.RandomAccessFile;

public class T {
	
	public static void main(String[] args) throws IOException {
		String path = "D:\\rec_dev_3.sql";
		RandomAccessFile br = new RandomAccessFile(path, "rw");// 这里rw看你了。要是之都就只写r
		String str = null, app = null;
		int i = 0;
		while ((str = br.readLine()) != null) {
			i++;
			app = app + str + "\n";
			if (i >= 500) {// 假设每次读取500行
				i = 0;
				System.out.println(app);
				// 这里你先对这100行操作,然后继续读
				// ..........
				app = null;
			}
		}
		br.close();
	}
	
}
 

 

----------------

分享到:
评论

相关推荐

    java读取大文件

    在Java中,处理大文件时,直接使用`BufferedReader`或`FileInputStream`等默认方式可能会导致内存溢出,因为它们会将整个文件加载到内存中。为了有效地读取大文件,可以使用缓冲区(Buffer)和内存映射文件...

    java 支持 超大上G , 多附件上传

    `java 支持 超大上G , 多附件上传` 这个标题所指的就是Java平台如何处理大容量文件及批量附件的上传功能。在给定的描述中提到了`commons-fileupload-1.2.2`,这是一个非常实用的开源组件,用于处理HTTP协议中的文件...

    有效率的读取大文件(2G)

    在处理大数据时,高效地读取大文件是至关重要的,特别是当文件的尺寸达到或超过2GB这样的大容量。在本篇文章中,我们将探讨几种针对大文件读取的有效策略,以确保程序性能不受影响,同时兼顾内存管理和资源优化。...

    Java解析JSON文本,大数据量工具包

    解决当内存资源不充足时大数据量的JSON文本解析为JSON对象会导致内存溢出的问题。 基于org.json的部分源代码,以及新增的JsonLazyer类。 原理:用时创建的规则降低传统解析器一次性将...大容量JSON文本解析为JSON对象。

    POI读取Excel大文件.rar

    当处理大容量的Excel文件时,如果直接一次性加载所有数据到内存,可能导致Java虚拟机(JVM)内存溢出。特别是使用XSSF工作簿模型时,由于其基于XML,所以内存消耗较大。 3. **POI的低内存占用模式:SXSSF** POI...

    java对于Json文件的解析范例

    - 容器溢出:如果未设置容量,当ArrayList元素数量超过默认大小(10)时,它会自动扩容,可能导致性能下降。可以通过`ArrayList(int initialCapacity)`构造器预设容量。 - null值处理:ArrayList允许null值,但...

    系统内存优化 9大法

    - 最大页面文件设置较大,以防内存溢出。 #### 三、禁用页面文件 当系统内存达到512MB以上时,页面文件的作用减弱,可以考虑禁用以减少不必要的硬盘读写。通过修改注册表实现禁用: 1. 打开注册表编辑器; 2. ...

    java以文本方式导出xlsx格式

    传统的做法是使用Apache POI库来操作Excel文件,但这种方式处理大量数据时可能会遇到内存溢出的问题。针对这个问题,我们可以采用一种文本方式生成XML,然后将其压缩为xlsx格式的方法,以此避免直接操作Excel对象...

    Java开发技术大全(500个源代码).

    overflowExample.java 演示溢出 precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java 用switch语句评定成绩等级 ...

    文本文件按行拆分多个成文件

    当遇到大容量的文本文件时,为了便于管理和处理,我们可能会需要将这些大文件拆分成多个小文件。这个过程被称为文本文件的按行拆分。本篇将详细介绍这一操作及其相关知识点。 一、文本文件的结构 文本文件是由一...

    java 实例log分析

    - 文件流读取:使用`java.io`包中的`BufferedReader`或`Scanner`类读取日志文件,避免一次性加载整个大文件导致内存溢出。 2. **日志分析**: - 统计信息:计算最频繁的请求、最慢的响应时间、错误率等,这些信息...

    缓冲区溢出基础.7z

    它涉及到程序在处理数据时超过了分配给特定内存区域(即缓冲区)的最大容量,导致额外的数据覆盖了原本不应该被修改的内存区域。这个主题通常涵盖以下几个关键知识点: 1. **缓冲区的理解** 缓冲区是计算机内存中...

    java_voice_chat.zip_java接收端口

    - **临时文件**:在处理大容量的音频数据时,可能需要将接收到的数据暂存到本地文件,避免内存溢出。Java的`java.io`包提供了对文件操作的支持,如写入和读取文件。 - **音频缓冲**:为提高性能,可能会使用缓冲区...

    JAVA后端开发面试题

    - 内存泄漏:程序分配的内存未被正确释放,累积过多可能导致内存溢出。 16. Hashtable与HashMap - Hashtable是线程安全的,不接受null键和值,不允许空的初始容量。 - HashMap非线程安全,允许null键和值,允许...

    4_FileSystem:内存文件系统

    首先,由于依赖内存,其容量受到JVM堆大小的约束,如果数据量过大,可能导致内存溢出。其次,数据的持久性较差,程序退出后,内存中的数据会丢失,除非有额外的持久化机制。最后,如果多个进程共享同一个内存文件...

    MySQL存取大文本及二进制文件(图片)

    - 大文本和二进制文件的存储和检索都需要处理好内存管理,避免一次性加载过多数据导致内存溢出。 - 为确保数据安全,定期备份包含大对象的表,同时考虑使用事务来处理可能出现的错误。 8. **源码和工具** - 提供...

    阿里巴巴java电话面试整理.doc

    Java中的内存溢出主要指堆内存溢出,因为Java有垃圾收集器自动回收内存。而在C++中,程序员需要手动管理内存,可能导致内存泄漏,从而引发内存溢出。 5. **ClassLoader的功能和工作模式**: 类加载器负责加载Java...

    Java中获取文件大小的详解及实例代码

    在Java编程中,获取文件大小是一项常见的任务,用于读取文件信息或进行文件操作前的预处理。本文将深入探讨两种在Java中获取文件大小的方法,并通过实例代码进行讲解。 首先,最简单直接的方式是使用`File`类的`...

Global site tag (gtag.js) - Google Analytics