Danh mục

CoreJava 9 - LUỒNG I/O (I/O Streams)

Số trang: 21      Loại file: doc      Dung lượng: 1.28 MB      Lượt xem: 22      Lượt tải: 0    
10.10.2023

Phí tải xuống: 15,000 VND Tải xuống file đầy đủ (21 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Phương thức wait() báo cho dòng gọi từ bỏ monitor và nhập vào trạng tháingủ cho đến khi các dòng khác nhập vào cùng monitor và gọi phương thức notify(). Phương thức notify()và notifyAll() tạo ra dòng thông báo cho các dòng khác gọi phương thức wait() của cùng đối tượng.Trong bài học trước, chúng ta cũng học về các điều kiện bế tắc là gì và cách tránh chúng.
Nội dung trích xuất từ tài liệu:
CoreJava 9 - LUỒNG I/O (I/O Streams)Chương9 LUỒNGI/O(I/OStreams)Mục tiêuKếtthúcchương,bạncócóthể: Đềcậpđếncáckháiniệmvềluồng MôtảcáclớpInputStreamvàOutputStream MôtảI/OmảngByte ThựchiệncáctácvụđệmI/Ovàlọc DùnglớpRandomAccesFile. MôtảcáctácvụchuỗiI/Ovàkýtự DùnglớpPrinterWriter .9.1 Giới thiệu Trongbuổihọctrước,chúngta đã họcvề cácdòngSynchronized.ngăncácdòngxẩyraviệc chiasẽ(dùngchung)cácđốitượngmộtcáchđồngthời.Toànbộtiếntrìnhnàyđượcquảnlýbởicơchế đợithôngbáo(waitnotify).Phươngthứcwait()báochodònggọitừ bỏ monitorvà nhậpvàotrạngthái ngủchođếnkhicácdòngkhácnhậpvàocùngmonitorvàgọiphươngthứcnotify().Phươngthứcnotify()và notifyAll()tạoradòngthôngbáochocácdòngkhácgọiphươngthứcwait()củacùng đốitượng. Trongbàihọctrước,chúngtacũnghọcvềcácđiềukiệnbếtắclàgìvàcáchtránhchúng. Chươngnàygiớithiệukháiniệmvềluồng.Chúngtacũngthảoluậncáclớpkhácnhautronggói java.iotrợgiúpcáctácvụnhậpxuất..9.2 Các luồng Theothuậtngữchung,luồnglàmộtdònglưuchuyển.trongthuậtngữvềkỹthuậtluồnglàmộtlộtrìnhmàdữ liệuđượctruyềntrongmộtchươngtrình.Một ứngdụngvềcácluồngmata đãquenthuộc đólàluồngnhậpSystem.in. Luồnglà nhữngdàn ống(pipelines) để gửivà nhậnthôngtintrongcácchươngtrìnhjava.Khi mộtluồngdữliệuđượcgửihoặcnhân,tathamchiếunónhưđang“ghi”và“đọc”mộtluồngtheothứtựnêutrên.Khimộtluồng được đọchayghi,cácdòngkhácbị phongtoả.Nếucó mộtlỗixẩyrakhi đọc hayghiluồng,mộtIOexception đượckíchhoạt.Dovậy,cáccâulệnhluồngphảibaogồmkhốitrycatch.I/O Streams 1 Lớp‘java.lang.System’ địnhnghĩacácluồngnhậpvà xuấtchuẩn.chúnglà cáclớpchínhcủacácluồngbytemàjavacungcấp.Chúngtacũngđãsửdụngcácluồngxuấtđểxuấtdữliệuvàhiểnthịkếtquảtrênmànhình.LuồngI/Obaogồm:: LớpSystem.out:Luồngxuấtchuẩndùngđểhiểnthịkếtquảtrênmànhình. LớpSystem.in:Luồngnhậpchuẩnthường đếntừ bànphímvà đượcdùng để đọccácký tự dữ liệu. LớpSystem.err:Đâylàluồnglỗichuẩn. Cáclớp‘InputStream’và‘OutputStream’cungcấpnhiềukhảnăngI/Okhácnhau.Cảhailớpnàycó cáclớpconđểthựchiệnI/Othôngquacácvùngđệmbộnhớ,cáctậptinvàốngdẫn.Cáclớpcon củalớpInputStreamthựchiện đầuvào,trongkhicáclớpconcủalớpOutputStreamthựchiệnkết xuất..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ậntìmhiểuvềcáclớpthuộcgóijava.io.9.3.1LớpInputStreamLớpInputStreamlàmộtlớptrừutượng.Nóđịnhnghĩacáchnhậndữliệu.Điểmquantrọngkhôngnằm ở chổ dữ liệu đếtừ đâu,mà là nó có thểtruycập.LớpInputStreamcungcấpmộtsốphươngpháp đểđọcvàdùngcácluồngdữliệuđểlàmđầuvào.Cácphươngthứcnàygiúptatạo,đọcvàxửlýcácluồngđầuvào.Cácphươngthứcđượchiệntrongbản9.1Tênphươngthức Môtảread() Đọccácbytedữ liệutừ mộtluồng.Nếunhư khôngdữ liệu nàolà hợplệ,nó khoá phươngthức.Khimộtphươngthực đượckhoá,cácdòngthựchiệnđượcchờchođếnkhidữliệu hợplệ.read(byte[]) trả về byte được‘đọc’hay‘1’,nếunhư kếtthúccủamột luồngđãđến.nókíchhoạtIOExceptionnếulỗixảyra.read(byte[],int,int) Nócũngđọcvàomảngbyte.Nótrảvềsốbytethựcsựđược đọc. Khi kết thúc của một luồng đã đến. nó kích hoạt IOExceptionnếulỗixảyra.available() Phươngphápnàytrảvềsốlượngbytecó thể được đọcmà khôngbị phongtoả.Nó trả về số bytehợplệ.Nó không phảilà phươngthứchợplệ đángtincậy để thựchiệntiến trìnhxửlýđầuvào.2 Core Javaclose() Phươngthứcnày đóngluồng.Nó dùng để phóngthíchmọi tàinguyênkếthợpvớiluồng.Luônluônđóngluồngđểchắc chắn rằng luồng xử lý được kết thúc. Nó kích hoạt ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: