如何在 java 中將輸入流轉換為位元組陣列?
Java 中的 InputStream 類提供了 read() 方法。此方法接受一個位元組陣列,並將輸入流的內容讀取到給定的位元組陣列中。
示例
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamToByteArray {
public static void main(String args[]) throws IOException{
InputStream is = new BufferedInputStream(System.in);
byte [] byteArray = new byte[1024];
System.out.println("Enter some data");
is.read(byteArray);
String s = new String(byteArray);
System.out.println("Contents of the byte stream are :: "+ s);
}
}輸出
Enter some data hello how are you Contents of the byte stream are :: hello how are you
其他解決方案
Apache commons 提供了一個名為 org.apache.commons.io 的庫,以下是由 Maven 依賴項新增到您的專案中的庫。
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency>
此包提供了一個名為 IOUtils 的類。此類的 toByteArray () 方法接受一個 InputStream 物件,並以位元組陣列的形式返回流中的內容。
示例
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.io.IOUtils;
public class StreamToByteArray2IOUtils {
public static void main(String args[]) throws IOException{
File file = new File("data");
FileInputStream fis = new FileInputStream(file);
byte [] byteArray = IOUtils.toByteArray(fis);
String s = new String(byteArray);
System.out.println("Contents of the byte stream are :: "+ s);
}
}
輸出
Contents of the byte stream are :: hello how are you
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP