/* bài viết thuộc loạt bài hướng dẫn trong "khóa học lập trình java miễn phí"
trên diễn đàn android.vn, bạn có thể vào đây đọc
để hiểu hơn về khóa học và tham gia ngay cùng mọi người */
android.vn/attachments/download-jpg.22637/" border="0" alt="" />
ở 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).
Mã nguồn PHP:
[color=#000000]
package javaandroidvn[/color][color=#007700]; [/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]bufferedreader[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]ioexception[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]inputstreamreader[/color][color=#007700]; public class [/color][color=#0000bb]javaandroidvn [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) [/color][color=#0000bb]throws ioexception [/color][color=#007700]{ [/color][color=#0000bb]char c[/color][color=#007700]; [/color][color=#0000bb]bufferedreader br [/color][color=#007700]= new [/color][color=#0000bb]bufferedreader[/color][color=#007700]( new [/color][color=#0000bb]inputstreamreader[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700])); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"nhập chuỗi ký tự, kết thúc bằng dấu chấm ."[/color][color=#007700]); do { [/color][color=#0000bb]c [/color][color=#007700]= ([/color][color=#0000bb]char[/color][color=#007700]) [/color][color=#0000bb]br[/color][color=#007700].[/color][color=#0000bb]read[/color][color=#007700](); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#0000bb]c[/color][color=#007700]); } while ([/color][color=#0000bb]c [/color][color=#007700]!= [/color][color=#dd0000]'.'[/color][color=#007700]); }}[/color]
**ví dụ 2: dùng bufferedreader đọc chuỗi ký tự từ console. in ký tự vừa nhập vào!
Mã nguồn PHP:
[color=#000000]
package javaandroidvn[/color][color=#007700]; [/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]bufferedreader[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]ioexception[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]inputstreamreader[/color][color=#007700]; public class [/color][color=#0000bb]javaandroidvn [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) [/color][color=#0000bb]throws ioexception [/color][color=#007700]{ [/color][color=#ff8000]// tạo đối tượng bufferedreader sử dụng system.in [/color][color=#0000bb]bufferedreader br [/color][color=#007700]= new [/color][color=#0000bb]bufferedreader[/color][color=#007700](new [/color][color=#0000bb]inputstreamreader[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]in[/color][color=#007700])); [/color][color=#0000bb]string str[/color][color=#007700]; [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].print([/color][color=#dd0000]"nhập chuỗi: "[/color][color=#007700]); [/color][color=#ff8000]//nhập chữ không dấu thôi nhé! [/color][color=#0000bb]str [/color][color=#007700]= [/color][color=#0000bb]br[/color][color=#007700].[/color][color=#0000bb]readline[/color][color=#007700](); [/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"chuỗi vừa nhập là: " [/color][color=#007700]+ [/color][color=#0000bb]str[/color][color=#007700]); }}[/color]
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
Mã nguồn PHP:
[color=#000000]
package javaandroidvn[/color][color=#007700]; [/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]ioexception[/color][color=#007700];[/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]io[/color][color=#007700].[/color][color=#0000bb]printwriter[/color][color=#007700]; public class [/color][color=#0000bb]javaandroidvn [/color][color=#007700]{ public static [/color][color=#0000bb]void main[/color][color=#007700]([/color][color=#0000bb]string[/color][color=#007700][] [/color][color=#0000bb]args[/color][color=#007700]) [/color][color=#0000bb]throws ioexception [/color][color=#007700]{ [/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]2013[/color][color=#007700]; [/color][color=#0000bb]string str [/color][color=#007700]= [/color][color=#dd0000]"android.vn "[/color][color=#007700]; [/color][color=#ff8000]//xuất dữ liệu sử dụng printwriter [/color][color=#0000bb]printwriter pw [/color][color=#007700]= new [/color][color=#0000bb]printwriter[/color][color=#007700]([/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]out[/color][color=#007700], [/color][color=#0000bb]true[/color][color=#007700]); [/color][color=#0000bb]pw[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#dd0000]"using a printwriter."[/color][color=#007700]); [/color][color=#0000bb]pw[/color][color=#007700].[/color][color=#0000bb]println[/color][color=#007700]([/color][color=#0000bb]str[/color][color=#007700]+[/color][color=#0000bb]i[/color][color=#007700]); }}[/color]
bài tập về nhà::d
làm lại các ví dụ trên! mọi thắc mắc các bạn có thể bình luận phía dưới, mọi người cùng nhau thảo luận!
(chú ý: các bạn nên tự giác làm bài tập, hoàn thiện rồi đăng lên, các bài bạn đã làm, nên để code trong thẻ code - chọn thẻ php cho rõ ràng và để ẩn code trong thẻ ẩn spoiler, để khi click vào mới hiện code lên , trước khi thử sức tự làm, bạn không nên nhìn code của các bạn khác đã đăng nhé)
my facebook: https://www.facebook.com/tiasangmoi
bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn
căn hộ chung cư 389 Dream Home đầu tư bởi Công ty Cổ phần Đầu tư Thương mại và Xây dựng 389 cân bằng phong thủy sống thanh bình không gian trọn vẹn. bán căn hộ 389 Dream Home cân bằng phong thủy vị...
Căn hộ 389 Dream Home tầm nhìn rộng mở