Giáo trình java cơ bản - Chương 9
Số trang: 22
Loại file: doc
Dung lượng: 202.50 KB
Lượt xem: 28
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu giáo trình java cơ bản - chương 9, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Giáo trình java cơ bản - Chương 9Chương9 DÒNGVÀO/RA(I/OStreams)Mục tiêuKếtthúcchương,bạncócóthể: ĐềcậpđếncáckháiniệmvềStream MôtảcáclớpInputStreamvàOutputStream MôtảvàoramảngByte Thựchiệnlọcvàđệmvào/ra DùnglớpRandomAccesFile. Môtảvào/rachuỗivàkýtự DùnglớpPrinterWriter .9.1 Giới thiệu Trongbuổihọctrước,chúngta đã họcvề cáchtạocác luồng đồngbộ.Ngăn chặncácluồngtruynhập đồngthờicác đốitượngdùngchung.Toànbộ tiếntrìnhnàyđượcquảnlýbởicơchếđợithôngbáo(waitnotify).Phươngthứcwait()báochodònggọi từ bỏ monitorvà nhậpvàotrạngtháingủ cho đếnkhicácluồngkhácsử dụngxong monitorvà gọiphươngthứcnotify().Phươngthứcnotify()và notifyAll()tạorathôngbáochocácluồngkhác đãgọiphươngthứcwait()trêncùng đốitượng.Trongbàihọctrước, chúngtacũnghọcvềcácđiềukiệnkhoáchếtlàgìvàcáchtránhchúng. Chươngnàygiớithiệukháiniệmvềdòng.Chúngtacũngthảoluậncáclớpkhácnhautronggóijava.iophụcvụvàora..9.2 Các dòng (stream) Theothuậtngữ chung,streamlà mộtdònglưuchuyển.trongthuậtngữ về kỹ thuậtdònglà mộtlộ trìnhmà dữ liệu đượctruyềntrongchươngtrình.Một ứngdụngvềcácdòngmatađãquenthuộcđólàdòngnhậpSystem.in. Dònglà những ống(pipelines) để gửivà nhậnthôngtintrongcácchươngtrìnhjava.Khimộtdòngdữliệuđượcgửihoặcnhận,tathamchiếunónhưđang“ghi”và“đọc” mộtdòngtương ứng.Khimộtdòng được đọchayghi,cácluồngkhácbị có nhucầuđọc/ghidòng đó đềuphảitạmdừng.Nếucó mộtlỗixẩyrakhi đọchayghi đòng,mộtngoạilệkiểuIOExceptionđượctạora.Dovậy,cáccâulệnhthaotácdòngphảibaogồm I/O Streams 213khốitrycatch. Lớp‘java.lang.System’ địnhnghĩacácdòngnhậpvà xuấtchuẩn.chúnglà cáclớpchínhcủacácdòngbytemà javacungcấp.Chúngtacũng đã sử dụngcácdòngxuấtđểxuấtdữliệuvàhiểnthịkếtquảtrênmànhình.Dòngvào/rabaogồm:: LớpSystem.out:Dòngxuấtchuẩndùngđểhiểnthịkếtquảtrênmànhình. LớpSystem.in:Dòngnhậpchuẩnthườngđếntừbànphímvà đượcdùngđể đọc cáckýtựdữliệu. LớpSystem.err:Đâylàdònglỗichuẩn. Các lớp ‘InputStream’ và ‘OutputStream’ cung cấp nhiều khả năng vào/ra khác nhau.CảhailớpnàycócáclớpthừakếđểthựchiệnI/Othôngquacácvùngbộnhớ đệm,cáctậptinvà ống(pipeline).CáclớpconcủalớpInputStreamthựchiệnvào, trongkhicáclớpconcủalớpOutputStreamthựchiệnra..9.3 Gói java.ioCácluồnghệ thốngrấtcó ích.Tuynhiên,chúngkhông đủ mạnh để dùngkhi ứngphóvớiI/Othựctế.Góijava.iophảiđượcnhậpkhẩuvìmụcđíchnày.Chúngtasẽthảoluận tìmhiểuvềcáclớpthuộcgóijava.io.9.3.1LớpInputStreamLớp InputStreamlà mộtlớptrừutượng.Nó địnhnghĩacáchthứcnhậndữ liệu. Điểmquan trọng không nằm ở chổ dữ liệu đế từ đâu, mà là khả năng truy cập. LớpInputStreamcungcấpmộtsốphươngthứcđểđọcvàdùngcácdòngdữliệuđểlàmđầu vào.Cácphươngthứcnàygiúptatạo,đọcvàxửlýcácdòngđầuvào.Cácphươngthứcđượchiệntrongbản9.1Tênphươngthức Môtảread() Đọccácbytedữ liệutừ mộtdòng.Nếunhư khôngcó byte dữliệunào,nóphảichờ.Khimộtphươngthứcphảichờ,các luồngđangthựchiệnphảitạmdừngchođếnkhicódữliệu.read(byte[]) Trảvềsốbyteđọcđượchay‘1’nếunhưđãđọcđếncuối dòng.NógâyrangoạilệIOExceptionnếucólỗixảyra.read(byte[],int,int) Nócũngđọcvàomộtmảngbyte.Nótrảvềsốbytethựcsự đọc đượccho đếnkhikếtthúcdòng.Nó gâyrangoạilệ IOExceptionnếulỗixảyra.available() Phươngphápnàytrảvềsốlượngbytecóthểđọcđượcmà khôngpahỉ chờ.Nó trả về số bytehiệntạicó trongdòng.214 Core Java Nókhôngphảilàphươngthứctincậyđểthựchiệntiếntrình xửlýđầuvào.close() Phươngthứcnàyđóngdòng.Nódùngđểgiảiphóngmọitài nguyêndòng đã sử dụng.Luônluôn đóngdòng để chắc chắnrằng ...
Nội dung trích xuất từ tài liệu:
Giáo trình java cơ bản - Chương 9Chương9 DÒNGVÀO/RA(I/OStreams)Mục tiêuKếtthúcchương,bạncócóthể: ĐềcậpđếncáckháiniệmvềStream MôtảcáclớpInputStreamvàOutputStream MôtảvàoramảngByte Thựchiệnlọcvàđệmvào/ra DùnglớpRandomAccesFile. Môtảvào/rachuỗivàkýtự DùnglớpPrinterWriter .9.1 Giới thiệu Trongbuổihọctrước,chúngta đã họcvề cáchtạocác luồng đồngbộ.Ngăn chặncácluồngtruynhập đồngthờicác đốitượngdùngchung.Toànbộ tiếntrìnhnàyđượcquảnlýbởicơchếđợithôngbáo(waitnotify).Phươngthứcwait()báochodònggọi từ bỏ monitorvà nhậpvàotrạngtháingủ cho đếnkhicácluồngkhácsử dụngxong monitorvà gọiphươngthứcnotify().Phươngthứcnotify()và notifyAll()tạorathôngbáochocácluồngkhác đãgọiphươngthứcwait()trêncùng đốitượng.Trongbàihọctrước, chúngtacũnghọcvềcácđiềukiệnkhoáchếtlàgìvàcáchtránhchúng. Chươngnàygiớithiệukháiniệmvềdòng.Chúngtacũngthảoluậncáclớpkhácnhautronggóijava.iophụcvụvàora..9.2 Các dòng (stream) Theothuậtngữ chung,streamlà mộtdònglưuchuyển.trongthuậtngữ về kỹ thuậtdònglà mộtlộ trìnhmà dữ liệu đượctruyềntrongchươngtrình.Một ứngdụngvềcácdòngmatađãquenthuộcđólàdòngnhậpSystem.in. Dònglà những ống(pipelines) để gửivà nhậnthôngtintrongcácchươngtrìnhjava.Khimộtdòngdữliệuđượcgửihoặcnhận,tathamchiếunónhưđang“ghi”và“đọc” mộtdòngtương ứng.Khimộtdòng được đọchayghi,cácluồngkhácbị có nhucầuđọc/ghidòng đó đềuphảitạmdừng.Nếucó mộtlỗixẩyrakhi đọchayghi đòng,mộtngoạilệkiểuIOExceptionđượctạora.Dovậy,cáccâulệnhthaotácdòngphảibaogồm I/O Streams 213khốitrycatch. Lớp‘java.lang.System’ địnhnghĩacácdòngnhậpvà xuấtchuẩn.chúnglà cáclớpchínhcủacácdòngbytemà javacungcấp.Chúngtacũng đã sử dụngcácdòngxuấtđểxuấtdữliệuvàhiểnthịkếtquảtrênmànhình.Dòngvào/rabaogồm:: LớpSystem.out:Dòngxuấtchuẩndùngđểhiểnthịkếtquảtrênmànhình. LớpSystem.in:Dòngnhậpchuẩnthườngđếntừbànphímvà đượcdùngđể đọc cáckýtựdữliệu. LớpSystem.err:Đâylàdònglỗichuẩn. Các lớp ‘InputStream’ và ‘OutputStream’ cung cấp nhiều khả năng vào/ra khác nhau.CảhailớpnàycócáclớpthừakếđểthựchiệnI/Othôngquacácvùngbộnhớ đệm,cáctậptinvà ống(pipeline).CáclớpconcủalớpInputStreamthựchiệnvào, trongkhicáclớpconcủalớpOutputStreamthựchiệnra..9.3 Gói java.ioCácluồnghệ thốngrấtcó ích.Tuynhiên,chúngkhông đủ mạnh để dùngkhi ứngphóvớiI/Othựctế.Góijava.iophảiđượcnhậpkhẩuvìmụcđíchnày.Chúngtasẽthảoluận tìmhiểuvềcáclớpthuộcgóijava.io.9.3.1LớpInputStreamLớp InputStreamlà mộtlớptrừutượng.Nó địnhnghĩacáchthứcnhậndữ liệu. Điểmquan trọng không nằm ở chổ dữ liệu đế từ đâu, mà là khả năng truy cập. LớpInputStreamcungcấpmộtsốphươngthứcđểđọcvàdùngcácdòngdữliệuđểlàmđầu vào.Cácphươngthứcnàygiúptatạo,đọcvàxửlýcácdòngđầuvào.Cácphươngthứcđượchiệntrongbản9.1Tênphươngthức Môtảread() Đọccácbytedữ liệutừ mộtdòng.Nếunhư khôngcó byte dữliệunào,nóphảichờ.Khimộtphươngthứcphảichờ,các luồngđangthựchiệnphảitạmdừngchođếnkhicódữliệu.read(byte[]) Trảvềsốbyteđọcđượchay‘1’nếunhưđãđọcđếncuối dòng.NógâyrangoạilệIOExceptionnếucólỗixảyra.read(byte[],int,int) Nócũngđọcvàomộtmảngbyte.Nótrảvềsốbytethựcsự đọc đượccho đếnkhikếtthúcdòng.Nó gâyrangoạilệ IOExceptionnếulỗixảyra.available() Phươngphápnàytrảvềsốlượngbytecóthểđọcđượcmà khôngpahỉ chờ.Nó trả về số bytehiệntạicó trongdòng.214 Core Java Nókhôngphảilàphươngthứctincậyđểthựchiệntiếntrình xửlýđầuvào.close() Phươngthứcnàyđóngdòng.Nódùngđểgiảiphóngmọitài nguyêndòng đã sử dụng.Luônluôn đóngdòng để chắc chắnrằng ...
Tìm kiếm theo từ khóa liên quan:
lập trình java ngôn ngữ lập trình giáo trình java java cơ bản ngôn ngữ java Applet của Java cài đặt bảo mậtTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 316 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 309 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 293 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 248 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 247 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 242 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 231 1 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 204 0 0 -
Thiết kế mạch logic bằng Verilog - HDL
45 trang 195 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 188 0 0