DataInputStream trong Java



DataInputStream được sử dụng trong ngữ cảnh của DataOutputStream và có thể được sử dụng để đọc các dữ liệu gốc (nguyên thủy) trong Java.

Sau đây là constructor để tạo một InputStream trong Java:

InputStream in = DataInputStream(InputStream in);

Sau khi bạn có đối tượng DataInputStream, thì có một số phương thức có thể được sử dụng để đọc stream đó hoặc để thực hiện các hoạt động khác trên stream đó.

STT Phương thức và Miêu tả
1 public final int read(byte[] r, int off, int len)throws IOException

Đọc len byte của dữ liệu từ input stream vào trong một mảng các byte. Trả về tổng số byte đã đọc vào trong buffer, nếu nó là kết thúc file thì trả về -1

2 Public final int read(byte [] b)throws IOException

Đọc một số byte từ inputstream và lưu vào trong mảng byte. Trả về tổng số byte đã đọc vào trong buffer, nếu nó là kết thúc file thì trả về -1

3 Có các form sau:
(a) public final Boolean readBooolean()throws IOException,
(b) public final byte readByte()throws IOException,
(c) public final short readShort()throws IOException
(d) public final Int readInt()throws IOException

Các phương thức này sẽ đọc các byte từ InputStream. Trả về hai byte kế tiếp của InputStream dưới dạng kiểu dữ liệu gốc cụ thể
4 public String readLine() throws IOException

Đọc dòng tiếp theo của text từ input stream. Nó đọc các byte liên tục, biến đổi mỗi byte một cách riêng rẽ thành một ký tự, tới khi nó gặp line terminator hoặc kết thúc dòng; ký tự được đọc, sau đó, được trả về như là một String

Ví dụ

Sau đây là ví dụ minh họa DataInputStream và DataOutputStream. Ví dụ này đọc 5 dòng đã cho trong một text.txt và biến đổi các dòng này thành các chữ hoa và cuối cùng sao chép chúng vào trong test1.txt.

import java.io.*;

public class Test{
   public static void main(String args[])throws IOException{

      DataInputStream d = new DataInputStream(new 
                               FileInputStream("test.txt"));

      DataOutputStream out = new DataOutputStream(new 
                               FileOutputStream("test1.txt"));

      String count;
      while((count = d.readLine()) != null){
          String u = count.toUpperCase();
          System.out.println(u);
          out.writeBytes(u + "  ,");
      }
      d.close();
      out.close();
   }
}

Nó sẽ cho kết quả sau:

DAY LA TEST 1  ,
DAY LA TEST 2  ,
DAY LA TEST 3  ,
DAY LA TEST 4  ,
DAY LA TEST 5  ,

Mọi người cho thể tham gia khóa học thứ 4 của vietjackteam vào cuối tháng 09/2017 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : Khóa học Java.Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Khóa học cũng đưa 200 câu hỏi phỏng vấn java trên https://www.javatpoint.com/corejava-interview-questions vào nội dung để giúp các bạn dễ dàng vượt qua kì phỏng vấn

Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Thông tin khóa học tại Khóa học Java Online trên Udemy

Mọi người có thể xem demo nội dung khóa học tại địa chỉ Video demo khóa học Offline

Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.


file_io_trong_java.jsp

Demo một bài giảng trong khóa học online tại vietjackteam.