如何在java中使用getbyte讀取數(shù)據(jù)

小樊
83
2024-08-29 16:04:07
欄目: 編程語言

在Java中,getByte() 方法通常用于從字節(jié)流(如 InputStream)或字節(jié)緩沖區(qū)(如 ByteBuffer)中讀取單個(gè)字節(jié)。以下是兩種常見情況的示例:

  1. InputStream 中讀取數(shù)據(jù):
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("讀取到的字節(jié): " + singleByte);
            }

            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在這個(gè)例子中,我們使用 FileInputStream 從名為 “example.txt” 的文件中讀取數(shù)據(jù)。read() 方法返回讀取到的字節(jié)(0-255),如果已到達(dá)文件末尾,則返回 -1。

  1. ByteBuffer 中讀取數(shù)據(jù):
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("讀取到的字節(jié): " + singleByte);
        }
    }
}

在這個(gè)例子中,我們首先創(chuàng)建一個(gè)包含五個(gè)字節(jié)的數(shù)組,然后將其包裝在 ByteBuffer 中。接著,我們使用 get() 方法從緩沖區(qū)中讀取字節(jié),直到?jīng)]有剩余的可讀字節(jié)。

請(qǐng)注意,getByte() 方法實(shí)際上是 ByteBuffer 類的方法,而不是 InputStream 類的方法。在 InputStream 中,您應(yīng)該使用 read() 方法來讀取數(shù)據(jù)。

0