đọc file trong java với lớp bufferedinputstream

Trong lí giải này, họ vẫn khám phá về BufferedInputStream vào Java và những cách làm của nó với sự hỗ trợ của những ví dụ.

Bạn đang xem: đọc file trong java với lớp bufferedinputstream

lớp BufferedInputStream của gói java.io ứng dụng được áp dụng cùng với những chiếc nguồn vào không giống nhằm phát âm dữ liệu (tính theo byte) một biện pháp hiệu quả rộng.

Nó không ngừng mở rộng lớp InputStream trừu tượng.

*

Trong quy trình đọc vào BufferedInputStream, một quãng byte được hiểu trường đoản cú đĩa với được lưu trữ trong cỗ đệm bên trong. Và trường đoản cú các byte đệm bên trong được gọi trơ trọi.

Do đó, số lượng đọc tin liên lạc cho đĩa bị bớt. Đây là lý do tại sao phát âm byte nhanh hao rộng bằng cách áp dụng BufferedInputStream.

2. Tạo một loại BufferedInputStream

Để sinh sản một trước tiên bọn họ cần nhập gói BufferedInputStream, java.io.BufferedInputStream. khi Cửa Hàng chúng tôi nhập gói sinh sống đấy là bí quyết Cửa Hàng chúng tôi hoàn toàn có thể tạo ra luồng nguồn vào.

// Creates a FileInputStreamFileInputStream tệp tin = new FileInputStream(String path);// Creates a BufferedInputStreamBufferedInputStream buffer = new BufferInputStream(file);Trong ví dụ trên, chúng tôi vẫn tạo thành một BufferdInputStream tên đệm với loại FileInputStream tên tập tin.

Ở đây, cỗ đệm bên phía trong bao gồm kích cỡ mặc định là 8192 byte. Tuy nhiên, Shop chúng tôi cũng rất có thể hướng đẫn kích thước của bộ đệm phía bên trong.


// Creates a BufferedInputStream with specified kích cỡ internal bufferBufferedInputStream buffer = new BufferInputStream(tệp tin, int size);Các đệm sẽ giúp đỡ đọc byte từ bỏ tệp nkhô nóng hơn.

3. Phương thơm thức BufferedInputStream

lớp BufferedInputStream hỗ trợ tiến hành cho các thủ tục không giống nhau trình diễn vào lớp InputStream.

Xem thêm: Giá Vàng 710 Là Vàng Gì ? Vàng 610 Có Phải Vàng 18K

3.1 phương thức read()

read() – đọc một byte 1-1 trường đoản cú luồng đầu vàoread(byte<> arr) – phát âm các byte tự luồng với lưu trữ trong mảng được chỉ địnhread(byte<> arr, int start, int length) – phát âm số byte bởi chiều lâu năm từ bỏ luồng và lưu trữ vào mảng được chỉ định bước đầu từ bỏ địa điểm khởi đầu

Giả sử họ tất cả một tệp có tên đầu vào.txt cùng với ngôn từ nlỗi sau.

This is a line of text inside the tệp tin.Hãy thử phát âm tệp bằng phương pháp sử dụng BufferedInputStream.

import java.io.BufferedInputStream;import java.io.FileInputStream;class Main public static void main(String<> args) try // Creates a FileInputStream FileInputStream tệp tin = new FileInputStream("đầu vào.txt"); // Creates a BufferedInputStream BufferedInputStream input = new BufferedInputStream(file); // Reads first byte from file int i = input đầu vào .read(); while (i != -1) System.out.print((char) i); // Reads next byte from the tệp tin i = đầu vào.read(); input.close(); catch (Exception e) e.getStackTrace(); Đầu ra

This is a line of text inside the tệp tin.Trong ví dụ trên, chúng tôi vẫn sản xuất một luồng nguồn vào được đệm mang tên đệm cùng rất FileInputStream. Luồng nguồn vào được liên kết cùng với tệp input.txt .

FileInputStream file = new FileInputStream("đầu vào.txt");BufferedInputStream buffer = new BufferedInputStream(file);Ở phía trên, chúng tôi đang sử dụng cách thức read() để phát âm một mảng byte từ bộ đệm bên trong của bộ phát âm đệm.

3.2 cách thức available()

Để đã đạt được số byte tất cả sẵn vào luồng nguồn vào, bạn có thể thực hiện phương thức available() . lấy ví dụ như,

import java.io.FileInputStream;import java.io.BufferedInputStream;public class Main public static void main(String args<>) try // Suppose, the input.txt tệp tin contains the following text // This is a line of text inside the file. FileInputStream file = new FileInputStream("input.txt"); // Creates a BufferedInputStream BufferedInputStream buffer = new BufferedInputStream(file); // Returns the available number of bytes System.out.println("Available bytes at the beginning: " + buffer.available()); // Reads bytes from the file buffer.read(); buffer.read(); buffer.read(); // Returns the available number of bytes System.out.println("Available bytes at the end: " + buffer.available()); buffer.close(); catch (Exception e) e.getStackTrace(); Đầu ra

Available bytes at the beginning: 39Available bytes at the end: 36Trong ví dụ trên,


Đầu tiên chúng tôi áp dụng cách tiến hành available() để chất vấn con số byte tất cả sẵn vào luồng đầu vào.Sau đó, Cửa Hàng chúng tôi sẽ áp dụng cách làm read()3 lần nhằm gọi 3 byte tự luồng đầu vào.Bây tiếng, sau khoản thời gian hiểu các byte, Cửa Hàng chúng tôi lại chất vấn những byte gồm sẵn. Lần này số byte khả dụng giảm sút 3.

3.3 phương thức skip()

Để sa thải cùng bỏ qua số byte được chỉ định, bạn có thể sử dụng thủ tục skip(). lấy ví dụ như,

import java.io.FileInputStream;import java.io.BufferedInputStream;public class Main public static void main(String args<>) try // Suppose, the input.txt tệp tin contains the following text // This is a line of text inside the tệp tin. FileInputStream tệp tin = new FileInputStream("input.txt"); // Creates a BufferedInputStream BufferedInputStream buffer = new BufferedInputStream(file); // Skips the 5 bytes buffer.skip(5); System.out.println("Input stream after skipping 5 bytes:"); // Reads the first byte from input stream int i = buffer.read(); while (i != -1) System.out.print((char) i); // Reads next byte from the đầu vào stream i = buffer.read(); // Closes the input stream buffer.close(); catch (Exception e) e.getStackTrace(); Đầu ra

Input stream after skipping 5 bytes: is a line of text inside the file.Trong ví dụ bên trên, Cửa Hàng chúng tôi sẽ sử dụng phương thức skip() bỏ qua 5 byte từ luồng đầu vào tệp. Do kia, các byte ‘T’, ‘h’, ‘i’, ‘s’và ‘ ‘được bỏ lỡ từ bỏ chiếc đầu vào.

3.4 phương thức close()

Để đóng luồng đầu vào được đệm, bạn cũng có thể sử dụng thủ tục close(). Khi close()thủ tục được Điện thoại tư vấn, họ chẳng thể áp dụng luồng nguồn vào nhằm phát âm dữ liệu.

4. Các cách tiến hành khác của BufferedInputStream

Phương thứcMô tả
mark()đánh dấu vị trí vào luồng nguồn vào mà dữ liệu đã được đọc
reset()trả lại điều khiển về điểm vào luồng nguồn vào điểm đặt dấu

Để đọc thêm, hãy truy vấn Java BufferdInputStream (tư liệu Java chủ yếu thức) .

Xem thêm: In Order For Là Gì ? Tất Tần Tật Về In Order For Trong Tiếng Anh

Cài ứng dụng i-google-map.com nhằm dễ dãi cập nhật tin cùng học tập xây dựng mọi dịp phần đông địa điểm trên trên đây.

Nguồn với Tài liệu giờ đồng hồ anh tmê say khảo:

Tài liệu tự i-google-map.com:

Nếu chúng ta thấy hay cùng hữu ích, bạn có thể tmê mệt gia các kênh sau của i-google-map.com để nhấn được nhiều hơn nữa:


Chuyên mục: Công nghệ