java 大文件读取
java 大文件读取的理解:
1 //定义读取字节
2 int bufSize = 1024;
3
4 byte[] bs = new byte[bufSize];
5 //创建缓存区
6 ByteBuffer byteBuf = ByteBuffer.allocate(bufSize);
7 //文件读取
8 FileChannel channel = new RandomAccessFile("d:\\111.txt", "r").getChannel();
9 //读入缓冲区的总字节数,如果由于已到达此文件的末尾而不再有数据,则返回 -1
10 while (channel.read(byteBuf) != -1) {
11 //返回此缓冲区的位置
12 int size = byteBuf.position();
13 //rewind()重绕此缓冲区。将位置设置为零并丢弃标记。在序列信道写入或 get 操作之前调用此方法(假定已经适当设置了限制)
14 byteBuf.rewind();
15 //读取字节
16 byteBuf.get(bs);
17 // 把文件当字符串处理,直接打印做为一个例子。
18 System.out.println(new String(bs, 0, size));
19 byteBuf.clear();
20 }
21
22 //FileInputStream.getChannel()
23 //返回与此文件输入流有关的惟一 FileChannel 对象。
24 //FileChannel FileOutputStream.getChannel()
25 //返回与此文件输出流有关的惟一 FileChannel 对象。
26 //FileChannel RandomAccessFile.getChannel()
27 //返回与此文件输出流有关的惟一 FileChannel 对象。
以上是 java 大文件读取 的全部内容, 来源链接: utcz.com/z/394220.html