Lớp FileInputStream trong java đọc được các byte từ một input file. Nó được sử dụng để đọc dữ liệu theo định dạng byte (các byte stream) như dữ liệu hình ảnh, âm thanh, video vv. Bạn cũng có thể đọc các dữ liệu có định dạng ký tự. Tuy nhiên, để đọc các dòng ký tự (các character stream), bạn nên sử dụng lớp FileReader.
Khai báo của lớp FileInputStream
Dưới đây là khi báo của lớp Java.io.FileInputStream :
public class FileInputStream extends OutputStream
Nội dung chính
Các phương thức của lớp FileInputStream trong java
Method | Description |
---|---|
int available() | Nó được sử dụng để trả về số byte ước tính có thể đọc được từ file input stream. |
int read() | Nó được sử dụng để đọc byte dữ liệu từ file input stream. |
int read(byte[] b) | Nó được sử dụng để đọc đến b.length byte dữ liệu từ file input stream. |
int read(byte[] b, int off, int len) | Nó được sử dụng để đọc đến len byte dữ liệu từ ví trí off từ file input stream. |
long skip(long x) | Nó được sử dụng để bỏ qua và loại bỏ x byte dữ liệu từ file input stream. |
FileChannel getChannel() | Nó được sử dụng để trả về các đối tượng FileChannel duy nhất liên kết với file input stream. |
FileDescriptor getFD() | Nó được sử dụng để trả về đối tượng FileDescriptor. |
protected void finalize() | Nó được sử dụng để đảm bảo rằng phương thức close() được gọi khi không có tham chiếu đến file input stream. |
void close() | Nó được sử dụng đẻ đóng stream. |
Ví dụ 1 về Java FileInputStream: đọc 1 ký tự
File: FileInputStreamExample1.java
import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamExample1 { public static void main(String args[]) throws IOException { FileInputStream fin = null; try { fin = new FileInputStream("D:\\testout.txt"); int i = fin.read(); System.out.print((char) i); fin.close(); } catch (Exception e) { System.out.println(e); } finally { fin.close(); } } }
Chú ý: Trước khi chạy chương trình trên, cần phải tạo một file văn bản có tên là "testout.txt". Trong file này, chúng ta đang có nội dung sau:
File: testout.txt
Welcome to java.
Sau khi thực hiện chương trình trên, bạn sẽ nhận được một ký tự duy nhất từ file đó là 87 (dưới dạng byte). Để xem đó là ký tự gì, bạn cần phải chuyển đổi nó thành kiểu dữ liệu char.
Output:
W
Ví dụ 2 về Java FileInputStream: đọc toàn bộ nội dung file
File: FileInputStreamExample2.java
import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamExample2 { public static void main(String args[]) throws IOException { FileInputStream fin = null; try { fin = new FileInputStream("D:\\testout.txt"); int i = 0; while ((i = fin.read()) != -1) { System.out.print((char) i); } fin.close(); } catch (Exception e) { System.out.println(e); } finally { fin.close(); } } }
Output:
Welcome to java.