Danh mục

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: 21      Lượt tải: 0    
Jamona

Phí tải xuống: 9,000 VND Tải xuống file đầy đủ (22 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:

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 ...

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