package cdct.read;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class BigFileR {
public static void main(String[] args) {
System.out.println("开始");
int bufSize = 102400;
byte[] bs = new byte[bufSize];
ByteBuffer byteBuf = ByteBuffer.allocate(102400);// 拆分
FileChannel channel;
try {
channel = new RandomAccessFile("file.cht", "r").getChannel();
int s = 0;
while (channel.read(byteBuf) != -1) {
// Thread.sleep(1000);
s++;
System.out.println(".............." + s);
int size = byteBuf.position();
byteBuf.rewind();
byteBuf.get(bs);
int time = 0;
if (bs.length % 16 == 0) {
time = bs.length / 16;
} else {
time = bs.length / 16 + 1;
}
System.out.println(time);
for (int p = 1; p <= time; p++) {
for (int t = (p - 1) * 16; t < p * 16; t++) {
if(p==1){
System.out.println(Integer.toHexString(bs[t]) + " ");}
}
}
byteBuf.clear();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
文件内容:
打印界面: