14 June 2016

Bài 30: Sử dụng luồng ký tự trong Java

Bài 30: Sử dụng luồng ký tự trong Java


download ​

Ở những bài trước, mình đã giới thiệu với các bạn việc sử dụng luồng byte để nhập và xuất dữ liệu ký tự. Nhưng trong nhiều trường hợp luồng byte không phải là cách tốt nhất để quản lý nhập xuất dữ liệu ký tự. Trong lập trình Java có kiểu luồng ký tự phục vụ riêng cho việc nhập xuất dữ liệu trên luồng. Mức trên cùng là 2 lớp trừu tường Reader và Writer. Các lớp dẫn xuất từ Reader và Writer hỗ trợ thao tác trên các luồng ký tự Unicode.
- Những phương thức định nghĩa trong lớp trừu tượng

Untitled ​

Bài này sẽ là nhập xuất ký tự và chuỗi sử dụng luồng ký tự, bài sau mình sẽ giới thiệu cách đọc ghi file dùng luồng ký tự!

1, Nhập Console dùng luồng ký tự:

- Để đọc dữ liệu nhập từ Console thì lớp tốt nhất là lớp BufferdReader. Nhưng ở đây, chúng ta không có cách nào xây dựng 1 lớp BufferedReader trực tiếp từ System.in vì thế nên cần chuyển nó thành luồng ký tự bằng cách dùng InputStreamReader để chuyển byte thành ký tự!
- Để có được một đối tượng InputStreamReader gắn với System.in ta dùng constructor của InputStreamReader.
InputStreamReader(InputStream inputStream)
- Tiếp theo dùng đối tượng InputStreamReader đã tạo ra để tạo ra một BufferedReader dùng constructor BufferedReader.
BufferedReader(Reader inputReader)

**Ví dụ 1: Tạo một đối tượng BufferedReader gắn với bàn phím:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- Sau khi thực hiện câu lệnh trên, br là một luồng ký tự gắn với Console thông qua System.in.
Tiếp theo ta sẽ dùng BufferedReader để đọc từng ký tự từ Console. Việc đọc kết thúc khi gặp dấu chấm (dấu chấm để kết thúc chương trình).
PHP:
package javaandroidvn;
 
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

public class 
JavaAndroidVn {

    public static 
void main(String[] argsthrows IOException {
        
char c;
        
BufferedReader br = new BufferedReader(
                new 
InputStreamReader(System.in));

        
System.out.println("Nhập chuỗi ký tự, kết thúc bằng dấu chấm .");

        do {
            
= (charbr.read();
            
System.out.println(c);
        } while (
!= '.');

    }
}
**Ví dụ 2: Dùng BufferedReader đọc chuỗi ký tự từ Console. In ký tự vừa nhập vào!
PHP:
package javaandroidvn;
 
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

public class 
JavaAndroidVn {

    public static 
void main(String[] argsthrows IOException {

        
// Tạo đối tượng BufferedReader sử dụng System.in
        
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
String str;
        
System.out.print("Nhập chuỗi: ");
        
//Nhập chữ không dấu thôi nhé!
        
str br.readLine();
        
System.out.println("Chuỗi vừa nhập là: " str);
    }
}
2, Xuất dữ liệu ra Console dùng luồng ký tự

Tiếp tục sẽ là 1 cách khác để xuất dữ liệu ra Console. Ở đây mình nhắc tới lớp PrinWriter, nó là 1 trong các lớp luồng ký tự. Ta cần phải chỉ định System.out cho luồng xuất.

**Ví dụ 3: Tạo đối tượng PrintWriter để xuất dữ liệu ra Console, dùng lệnh:
PrintWriter pw = new PrintWriter(System.out, true);
Tiếp theo dùng PrintWriter để xuất dữ liệu ra Console
PHP:
package javaandroidvn;
 
import java.io.IOException;import java.io.PrintWriter;

public class 
JavaAndroidVn {

    public static 
void main(String[] argsthrows IOException {
        
int i 2013;
        
String str "Android.Vn ";
        
//Xuất dữ liệu sử dụng PrintWriter
        
PrintWriter pw = new PrintWriter(System.outtrue);
        
pw.println("Using a PrintWriter.");
        
pw.println(str+i);

    }
}
Nguồn: android.vn

Related Posts:

  • Bài 16: Tính kế thừa (inheritance) trong Java Bài 16: Tính kế thừa (inheritance) trong Java Tính kế thừa trong Java cũng tương tự như mô hình trên!​ 1, Khái niệm:Một lớp con (subclass) có thể kế thừa tất cả những vùng dữ liệu và phương thức của một lớ… Read More
  • Bài 13: Class trong Java (tiếp) Bài 13: Class trong Java (tiếp) Sau bài viết này, các bạn sẽ có cái nhìn toàn diện hơn về class trong 1 project Java (interface, abstract class tương tự), các bạn áp dụng để viết code sao cho dễ nhìn dễ hiểu và … Read More
  • Bài 14: Phương thức (method) trong Java Bài 14: Phương thức (method) trong Java 1, Khái niệm: Hàm hay phương thức (method) trong Java là khối lệnhthực hiện các chức năng, các hành vi xử lý của lớp lên vùng dữliệu. Trong lập trình cấu trúc, các bạ… Read More
  • Bài 15: Phương thức setter và getter trong Java Bài 15: Phương thức setter và getter trong Java ​ Ở bài 12 mình có viết chú ý 1 điều như này: Thông thường để an toàn cho vùng dữ liệu của các đối tượng người ta tránh dùng tiền tố public, mà thường chọn tiền… Read More
  • Bài 11: Thời gian hệ thống trong Java Bài 11: Thời gian hệ thống trong Java 1, Tính thời gian chạy 1 đoạn lệnh trong chương trìnha, Tính thời gian theo mini giây: (10^(-3)s)Trong đối tượng System có phương thức "currentTimeMillis()", ta dùng nó để đ… Read More

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang