1 package org.apache.hadoop.fs;
2
3 import java.io.*;
4 import org.apache.hadoop.fs.*;
5
6 /** Stream that permits positional reading. */
7 //定位流式读取
8 public interface PositionedReadable {
9 /**
10 * Read upto the specified number of bytes, from a given
11 * position within a file, and return the number of bytes read. This does not
12 * change the current offset of a file, and is thread-safe.
13 */
14 public int read(long position, byte[] buffer, int offset, int length)
15 throws IOException;
16 //读取文件流中最多到length大小的字节,到字节缓冲区buffer中,它是从给定的position位置开始读取的。
17 //该读取方式不改变文件的当前偏移位置offset,并且该方法是线程安全的
18 /**
19 * Read the specified number of bytes, from a given
20 * position within a file. This does not
21 * change the current offset of a file, and is thread-safe.
22 */
23 public void readFully(long position, byte[] buffer, int offset, int length)
24 throws IOException;
25 /**
26 * 读取文件流中length大小的字节,到字节缓冲区buffer中,它是从给定的position位置开始读取的。
27 * 该读取方式不改变文件的当前偏移位置offset,并且该方法是线程安全的。
28 */
29 /**
30 * Read number of bytes equalt to the length of the buffer, from a given
31 * position within a file. This does not
32 * change the current offset of a file, and is thread-safe.
33 */
34 public void readFully(long position, byte[] buffer) throws IOException;
35 /**
36 * 读取文件流中buffer长度的字节,到字节缓冲区buffer中,它是从给定的position位置开始读取的
37 * 该读取方式不改变文件的当前偏移位置offset,并且该方法是线程安全的。
38 */
39
40 }