如何使用FileInputStream讀取檔案資料?
FileInputStream類從特定檔案讀取資料(逐位元組)。它通常用於讀取包含原始位元組的檔案內容,例如影像。
要使用此類讀取檔案內容:
- 首先,需要透過傳遞一個String變數或一個**File**物件來例項化此類,該物件表示要讀取檔案的路徑。
FileInputStream inputStream = new FileInputStream("file_path");
or,
File file = new File("file_path");
FileInputStream inputStream = new FileInputStream(file);- 然後使用**read()**方法的任何變體讀取指定檔案的內容:
**int read()** - 這只是從當前InputStream讀取資料並逐位元組返回讀取的資料(以整數格式)。
如果達到檔案末尾,此方法返回-1。
**int read(byte[] b)** - 此方法接受一個位元組陣列作為引數,並將當前InputStream的內容讀取到給定的陣列中。
此方法返回一個整數,表示位元組總數,如果達到檔案末尾則返回-1。
- **int read(byte[] b, int off, int len)** - 此方法接受一個位元組陣列、其偏移量(int)和長度(int)作為引數,並將當前InputStream的內容讀取到給定的陣列中。
- 此方法返回一個整數,表示位元組總數,如果達到檔案末尾則返回-1。
示例
假設我們在**D:/images**目錄下有以下影像

下面的程式使用**FileInputStream**讀取上述影像的內容。
示例
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamExample {
public static void main(String args[]) throws IOException {
//Creating a File object
File file = new File("D:/images/javafx.jpg");
//Creating a FileInputStream object
FileInputStream inputStream = new FileInputStream(file);
//Creating a byte array
byte bytes[] = new byte[(int) file.length()];
//Reading data into the byte array
int numOfBytes = inputStream.read(bytes);
System.out.println("Data copied successfully...");
}
}輸出
Data copied successfully...
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP