在Java中,getByte()
方法通常用于从字节流(如 InputStream
)或字节缓冲区(如 ByteBuffer
)中读取单个字节。以下是两种常见情况的示例:
InputStream
中读取数据:import java.io.FileInputStream;
import java.io.IOException;
public class ReadBytesFromFile {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("example.txt");
int data;
while ((data = fis.read()) != -1) {
byte singleByte = (byte) data;
System.out.println("读取到的字节: " + singleByte);
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们使用 FileInputStream
从名为 “example.txt” 的文件中读取数据。read()
方法返回读取到的字节(0-255),如果已到达文件末尾,则返回 -1。
ByteBuffer
中读取数据:import java.nio.ByteBuffer;
public class ReadBytesFromByteBuffer {
public static void main(String[] args) {
byte[] byteArray = new byte[]{1, 2, 3, 4, 5};
ByteBuffer buffer = ByteBuffer.wrap(byteArray);
while (buffer.hasRemaining()) {
byte singleByte = buffer.get();
System.out.println("读取到的字节: " + singleByte);
}
}
}
在这个例子中,我们首先创建一个包含五个字节的数组,然后将其包装在 ByteBuffer
中。接着,我们使用 get()
方法从缓冲区中读取字节,直到没有剩余的可读字节。
请注意,getByte()
方法实际上是 ByteBuffer
类的方法,而不是 InputStream
类的方法。在 InputStream
中,您应该使用 read()
方法来读取数据。