要從InputStream中讀取二進制數據,您可以使用Java的FileInputStream和byte數組
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class ReadBinaryData {
public static void main(String[] args) {
File file = new File("path/to/your/binary/file");
try (InputStream inputStream = new FileInputStream(file)) {
// 創建一個字節數組來存儲讀取到的數據
byte[] buffer = new byte[1024];
int bytesRead;
// 循環讀取數據,直到文件結束
while ((bytesRead = inputStream.read(buffer)) != -1) {
// 處理讀取到的數據,例如將其轉換為字符串或其他格式
String data = new String(buffer, 0, bytesRead);
System.out.println(data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
這個示例中,我們首先創建了一個File對象,指向要讀取的二進制文件。然后,我們使用try-with-resources語句創建一個FileInputStream,它會在操作完成后自動關閉。
在while循環中,我們使用InputStream的read方法將數據讀入字節數組。read方法返回實際讀取的字節數,當文件結束時返回-1。我們可以根據需要處理讀取到的數據,例如將其轉換為字符串或其他格式。
注意:這個示例僅適用于可以直接轉換為字符串的二進制數據。如果您處理的是更復雜的二進制數據(如圖像或音頻文件),則需要使用適當的庫或處理方法。