何時在 Java 9 中使用 InputStream 的 readAllBytes() 方法?
從 Java 9 開始,可以使用 InputStream 類的 readAllBytes() 方法將所有位元組讀入位元組陣列。此方法一次從 InputStream 物件讀取所有位元組,並且在讀取完所有剩餘位元組以及檢測到流結尾之前一直處於阻塞狀態,或者引發異常。
reallAllBytes() 方法無法自動關閉 InputStream 例項。當它達到流結尾時,此方法的進一步呼叫可能會返回一個 空位元組陣列。 對於將所有位元組讀入位元組陣列的方便情況,我們可以使用此方法,而不適用於讀取具有大量資料輸入流。
語法
public byte[] readAllBytes() throws IOException
在以下示例中,我們在“C:\Temp ”資料夾中建立了一個“Technology.txt ”檔案,其中包含簡單資料:{“JAVA”, “PYTHON”, “JAVASCRIPT”, “SELENIUM”, “SCALA”}。
示例
import java.nio.*;
import java.nio.file.*;
import java.io.*;
import java.util.stream.*;
import java.nio.charset.StandardCharsets;
public class ReadAllBytesMethodTest {
public static void main(String args[]) {
try(InputStream stream = Files.newInputStream(Paths.get("C://Temp//Technology.txt"))) {
// Convert stream to string
String contents = new String(stream.readAllBytes(), StandardCharsets.UTF_8);
// To print the string content
System.out.println(contents);
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}輸出
"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP