在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()
方法來讀取數據。