java读取大文件简单实例

 这篇文章主要介绍了java读取大文件简单实例,有需要的朋友可以参考一下

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

时间: 2024-09-16 11:59:11

java读取大文件简单实例的相关文章

java读取大文件简单实例_java

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

java读取xml文件简单实例

XML具体文件如下:  代码如下 复制代码 <?xml version="1.0" encoding="gbk"?>       <Accounts> <Account type="by0003">  <code>100001</code> <pass>123</pass> <name>李四</name>  <money>100

Java读取大文件

问题描述 java读取超大文件,(5G左右),并且每行读出来,需要处理下再重新写入一个文件,大家有碰到过的吗?求指点 解决方案 import java.io.*;public class ReadBigFileLineByLine{ public static void main(String[] args) { try{ //Big file to read String fileName = "MyBigFile.txt"; FileReader fileReader = new

Java 读取大文件方法

需求:实际开发中读取文本文件的需求还是很多,如读取两个系统之间FTP发送文件,读取后保存到数据库中或日志文件的数据库中保存等. 为了测试首先利用数据库SQL生成大数据文件. 规则是 编号|姓名|手机号,如 10|张10|13900000010 利用下面语句可以生成10,000,000条数据. SELECT LEVEL||'|'||'张'||LEVEL||'|'||(13900000000+LEVEL)  FROM DUAL CONNECT BY LEVEL < 1000000; 实现如下: pa

nio-java读取大文件csv格式

问题描述 java读取大文件csv格式 有一个2g的文件,传统io读写可能出问题,所以我想用nio方法先分割,生成temp文件,然后读取每个temp. 但是因为这个文件里面一条record不是按照行来分隔,比较乱,要写代码去判断如何分隔. 有没有什么其他好的办法读取文件? 解决方案 按行读取,不会出问题的.按行读取的原理是遍历文件,遇到换行符返回一行数据,而不是全部装入内存后分割. 解决方案二: Java大文件读取java读取大文件Java读取大文件

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

写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代码: <?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如何高效的读取大文件实例教程

       1.概述 本教程将演示如何用Java高效地读取大文件,这些大文件操作虽然不是很常用,但是如果有项目要用到的话就有用武之地了. 2.在内存中读取 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存

Java实现按行读取大文件_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