java 读取txt,java读取大文件
package com.bbcmart.util;
import java.io.File;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
public class Test {
public static void main(String[] args) throws Exception {
final int BUFFER_SIZE = 0x1200000;// 缓冲大小为12M
System.out.println(BUFFER_SIZE);
File f = new File(Config.tempdatafile);
int len = 0;
Long start = System.currentTimeMillis();
for (int z = 8; z >0; z--) {
MappedByteBuffer inputBuffer = new RandomAccessFile(f, "r")
.getChannel().map(FileChannel.MapMode.READ_ONLY,
f.length() * (z-1) / 8, f.length() * 1 / 8);
byte[] dst = new byte[BUFFER_SIZE];// 每次读出12M的内容
for (int offset = 0; offset < inputBuffer.capacity(); offset += BUFFE