Java lưu trữ ký tự theo mã Unicode. Luồng vào ra ký tự động dịch bảng mã này tới/từ bộ ký tự địa phương (local character set).
Tất cả lớp luồng ký tự được dẫn xuất từ Reader và Writer. Như luồng byte, ta có luồng ký tự chuyên dùng cho vào ra tập tin: FileReader and FileWriter. Chương trình CopyCharacters minh hoạ các lớp này.
package chuong5;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyCharacters {
public static void main(String[] args) throws IOException {
FileReader inputStream = null;
FileWriter outputStream = null;
try {
inputStream = new FileReader("xanadu.txt");
outputStream = new FileWriter("characteroutput.txt");
int c;
while ((c = inputStream.read()) != -1)
outputStream.write(c);
} finally {
if (inputStream != null)
inputStream.close();
if (outputStream != null)
outputStream.close();
}
}
}
Nhận xét rằng trong CopyCharacters biến c chứa giá trị ký tự 16 bit; còn CopyBytes
biến c chứa giá trị ký tự 8 bit.
Luồng ký tự thường bao lấy luồng byte. Luồng ký tự dùng luồng byte để thực hiện vào ra ở cấp độ vật lý, còn công việc còn lại của nó là xử lý việc dịch giữa ký tự và byte.
Ví dụ FileReader dùng FileInputStream, trong khi đó FileWriter dùng FileOutputStream.» Tin mới nhất:
» Các tin khác: