java读取大文件简单实例

我要从一个文本文件中提有用的数据
文本文件200多MB
是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做?
---------------------------------------------------------------

呵呵,200MB而已...
JAVA中可以使用内存映射文件来操作大文件.
最大可达2GB.
下面是个简单的示例,更具体的自己看Java API DOCS或相关资料


代码如下:

import java.io.*;
import java.nio.*;
import java.nio.channels.*;
public class LargeMappedFiles {
   static int length = 0x8FFFFFF; // 128 Mb
   public static void main(String[] args) throws Exception {
     MappedByteBuffer out = 
       new RandomAccessFile("test.dat", "rw").getChannel()
       .map(FileChannel.MapMode.READ_WRITE, 0, length);
     for(int i = 0; i < length; i++)
       out.put((byte)'x');
     System.out.println("Finished writing");
     for(int i = length/2; i < length/2 + 6; i++)
       System.out.print((char)out.get(i));    //read file
   }
} ///

(0)

相关推荐

  • java读取大文件简单实例

    我要从一个文本文件中提有用的数据 文本文件200多MB 是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做? --------------------------------------------------------------- 呵呵,200MB而已... JAVA中可以使用内存映射文件来操作大文件. 最大可达2GB. 下面是个简单的示例,更具体的自己看Java API DOCS或相关资料 复制代码 代码如下: import java.io.*; import java.n

  • 简单了解Python读取大文件代码实例

    这篇文章主要介绍了简单了解Python读取大文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通常对于大文件读取及处理,不可能直接加载到内存中,因此进行分批次小量读取及处理 I.第一种读取方式 一行一行的读取,速度较慢 def read_line(path): with open(path, 'r', encoding='utf-8') as fout: line = fout.readline() while line: line

  • 完美解决java读取大文件内存溢出的问题

    1. 传统方式:在内存中读取文件内容 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 实际上是使用BufferedReader或者其子类LineNumberReader来读取的. 传统方式的问题: 是文件的所有行都被存放在内存中,当文件足够大时很快就会

  • 通过Pandas读取大文件的实例

    当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取: import pandas as pd f = open('E:/学习相关/Python/数据样例/用户侧数据/test数据.csv') reader = pd.read_csv(f, sep=',', iterator=True) loop = True chunkSize = 100000 chunks = [] while loop: try: chunk = reader.get_chunk(chunkSize) chun

  • Java读取网络文件的实例代码

    目录 Java读取网络文件 输入url地址读取txt文件 Java读取网络文件问题 protocol = http host = null 通过ip地址读取文件 Java读取网络文件 输入url地址读取txt文件 /** * Created by qqg on 2018/1/3. */ import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import ja

  • Java高效读取大文件实例分析

    1.概述 本教程将演示如何用Java高效地读取大文件.Java--回归基础. 2.在内存中读取 读取文件行的标准方式是在内存中读取,Guava和ApacheCommonsIO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致程序抛出OutOfMemoryErro

  • Java读取txt文件和写入txt文件的简单实例

    写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

  • PHP 读取大文件并显示的简单实例(推荐)

    使用PHP读取日志文件,当文件比较大的时候,会报内存不足,因此应该部分读取,读取指定的行数的数据 PHP代码: <?php class Test{ //日志路径 const LOG_PATH="E:\phpServer\Apache\logs\error.log"; const NGINX_LOG_PATH="E:\phpServer\\nginx\logs\error.log"; //显示的行数 const PAGES=50; public static f

  • Java实现按行读取大文件

    Java实现按行读取大文件 String file = "F:" + File.separator + "a.txt"; FileInputStream fis = new FileInputStream(file); RandomAccessFile raf = new RandomAccessFile(new File(file),"r"); String s ; while((s =raf.readLine())!=null){ Syste

  • python简单读取大文件的方法

    本文实例讲述了python简单读取大文件的方法.分享给大家供大家参考,具体如下: Python读取大文件(GB级别)采用的办法很简单: with open(...) as f: for line in f: <do something with line> 例如: with open(filepath,'r') as infile: for line in infile: print line 一切都交给python解释器处理,读取效率很高,且占用资源少. stackoverflow参考链接:

随机推荐