Có ba loại luồng để đọc và ghi tệp trong java, đó là luồng byte, luồng ký tự và luồng bộ đệm. Bạn cũng có thể sử dụng quét (đọc) và định dạng (ghi).

1.java đọc tệp có luồng byte

Các chương trình đọc và ghi dữ liệu theo từng byte (8bit) sử dụng các luồng byte. Tất cả các lớp luồng byte bắt nguồn từ InputStream và OutputStream.

Sử dụng luồng byte

Có nhiều lớp luồng byte, để hình dung cách thức hoạt động của luồng byte, chúng ta sẽ tập trung vào fileinputstream và fileoutputstream, ví dụ:

Điều quan trọng là phải đóng luồng khi không cần thiết nữa – để tránh rò rỉ tài nguyên. Ví dụ trên sử dụng khối cuối cùng để đảm bảo rằng cả hai luồng (đầu vào, đầu ra) đều được đóng ngay cả khi xảy ra lỗi.

2.java sử dụng luồng ký tự để đọc và ghi tệp

Luồng byte trong java được sử dụng để thực hiện nhập và xuất byte (8 bit), trong khi luồng ký tự trong java được sử dụng để thực hiện nhập và xuất unicode 16 bit. Tất cả các lớp luồng ký tự bắt nguồn từ Reader và Writer.

Sử dụng luồng ký tự

Mặc dù có nhiều lớp liên quan đến luồng ký tự nhưng các lớp được sử dụng phổ biến nhất là trình đọc tệp và trình ghi tệp, ví dụ:

3. Java sử dụng luồng đệm để đọc và ghi tệp

Ví dụ

ở trên không sử dụng các luồng được đệm, nghĩa là việc đọc và xuất được thực hiện trực tiếp dưới sự kiểm soát của hệ điều hành, gây lãng phí thời gian và tài nguyên. Để giảm thiểu những điều trên, các luồng đệm được tạo. Luồng đệm được sử dụng để tăng tốc hoạt động I/O bằng cách tạo bộ đệm có kích thước nhất định. Vì vậy, chúng tôi không cần truy cập vào đĩa cứng khi thực hiện i/o. Các chương trình có thể sử dụng ý tưởng “gói” từ việc không sử dụng các luồng được đệm (luồng byte và luồng ký tự) sang sử dụng luồng được đệm

lớp bao bọc luồng byte

  1. Đệm luồng đầu vào
  2. Luồng đầu ra được đệm
  3. Lớp bao bọc luồng ký tự

    1. Bộ đọc đệm
    2. Trình ghi bộ đệm
    3. Đọc và ghi tệp bằng luồng được đệm

      Ví dụ: Sử dụng trình bao bọc trên luồng byte

      Ví dụ: Sử dụng trình bao bọc trên luồng ký tự

      4. Java đọc và ghi tệp với định dạng quét

      Quét

      Lớp máy quét có thể phân tích cú pháp các kiểu dữ liệu nguyên thủy và chuỗi bằng cách sử dụng các biểu thức chính quy. Theo mặc định, máy quét sử dụng dấu cách để phân biệt các ký tự trong chuỗi.

      Sử dụng máy quét

      Máy quét

      có thể được sử dụng để nhập dữ liệu từ bàn phím, phân tích chuỗi và nhập dữ liệu từ tệp.

      Ví dụ 1: Mã này cho phép người dùng đọc các ký tự số từ bàn phím bằng cách khởi tạo máy quét với system.in:

      Ví dụ 2: Đoạn mã này lấy tất cả các số loại dài từ tệp mynumbers.txt:

      Ví dụ 3: Máy quét cũng có thể sử dụng các dấu phân cách khác do người dùng xác định, đoạn mã sau đọc từ một chuỗi và phân tích cú pháp thành các mục.

      Một số phương thức của lớp máy quét

      Định dạng

      Ngoại trừ 2 phương thức print và println. Java cung cấp cho chúng ta 2 phương thức định dạng in là printf và format có chức năng tương tự nhau. Bạn có thể gọi phương thức này ở bất kỳ đâu trong mã của mình.

      Ví dụ: định dạng in của biến:

      Một điều nữa là bạn có thể in theo hệ thống định dạng của Pháp, sử dụng định dạng locale.france để phân tách phần nguyên và phần phân số của một số thực thập phân, vd:

      Ví dụ: Một chương trình đơn giản:

      Bảng sau liệt kê một số “bộ chuyển đổi” và “cờ” được sử dụng trong các ví dụ trên:

Kiểm tra tiếng Anh trực tuyến

Bạn đã biết trình độ tiếng Anh hiện tại của mình chưa?
Bắt đầu làm bài kiểm tra

Nhận tư vấn lộ trình từ ACET

Hãy để lại thông tin, tư vấn viên của ACET sẽ liên lạc với bạn trong thời gian sớm nhất.