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
? 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
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[] args) throws 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 {
c = (char) br.read();
System.out.println(c);
} while (c != .);
}
}
PHP:
package javaandroidvn;
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;
public class JavaAndroidVn {
public static void main(String[] args) throws 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);
}
}
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[] args) throws IOException {
int i = 2013;
String str = "Android.Vn ";
//Xu?t d? li?u s? d?ng PrintWriter
PrintWriter pw = new PrintWriter(System.out, true);
pw.println("Using a PrintWriter.");
pw.println(str+i);
}
}
Available link for download