Friday, February 17, 2017

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

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

Available link for download