java读取大文件简单实例
程序员文章站
2023-12-20 20:19:10
我要从一个文本文件中提有用的数据 文本文件200多mb 是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做? ------------------------...
我要从一个文本文件中提有用的数据
文本文件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
}
} ///