DataInputStream ObjectInput Stream Reader BufferedReader Input Stream Reader File Reader Ki n trúc Input Stream Lu ng nh p d li u... Các lo i lu ng d li uObject OutputStream FileOutput
Trang 1L P TRÌNH JAVA
BÀI 3
INPUT và OUTPUT trong Java
Trang 4Các lo i lu ng d li u
Các ho t ng nh p/xu t d li u
(nh p d li u t bàn phím, c d
li u t file, ghi d li u màn hình, ghi
ra file, ghi ra a, ghi ra máy in…)
u c g i là lu ng (stream)
T t c các lu ng u có chung
m t nguyên t c ho t ng ngay
c khi chúng c g n k t v i
Trang 5Các lo i lu ng d li u
Output Streams – ghi d li u
vào Files, Buffers in Memory,
Trang 7DataInputStream ObjectInput
Stream
Reader
BufferedReader
Input Stream Reader File Reader
Ki n trúc Input Stream (Lu ng nh p d li u)
Trang 8Các lo i lu ng d li u
Object
OutputStream
FileOutput Stream FilterOutput Stream
BufferedOutput Stream
DataOutput Stream ObjectOutput
Stream BufferedWriter
Ki n trúc Output Stream (Lu ng xu t d li u)
Trang 10Các lo i lu ng d li u Các thao tác x lý d li u:
import java.io.*
T o i t ng lu ng và liên k t v i ngu n d li u
Thao tác d li u ( c ho c ghi ho c c c và ghi)
óng lu ng.
Trang 14X lý nh p xu t d li u b ng lu ng byte
Ví d 1: T o file 'file1.dat' và ghi d li u
Trang 15X lý nh p xu t d li u b ng lu ng byte
Ví d 2: c thông tin t file 'file1.dat' và in ra màn hình
15
Trang 16X lý nh p xu t d li u b ng lu ng byte
c, ghi d li u nh phân (binary data)
Khi mu n t o file ch a các ki u d li u nh short, int,long, float, double, String, boolean… thì s d ng 2 class:
Class DataInputStream
x lý vi c nh p d li u Class DataOutputStreamx lý vi c xu t d li u
Trang 17X lý nh p xu t d li u b ng lu ng byte
M t s ph ng th c x lý d li u nh phân c a
class DataOutputStream
Trang 18X lý nh p xu t d li u b ng lu ng byte
M t s ph ng th c x lý d li u nh phân c a
class DataInputStream:
Trang 19X lý nh p xu t d li u b ng lu ng byte
Ví d 1: Ghi d li u
Trang 20X lý nh p xu t d li u b ng lu ng byte
Ví d 2: c d li u
Trang 21X lý nh p xu t d li u b ng lu ng byte
Ví d 3: c, ghi d li u ki u object
Trang 22X lý nh p xu t d li u b ng lu ng byte
Ví d 3: c, ghi d li u ki u object
Trang 23X lý nh p xu t d li u b ng lu ng byte
Ví d 2: c, ghi d li u ki u object
Trang 24Truy c p file ng u nhiên
S d ng object RandomAccessFile truy c p ng u nhiên n i dung m t file
RandomAccessFile là class th c thi 2 interface là
DataInput và DataOutput trong ó có nh ngh a các
ph ng th c input/output
Dùng ph ng th c :
Trang 25Truy c p file ng u nhiên
Trang 28X lý nh p xu t d li u b ng lu ng character
Trang 29X lý nh p xu t d li u b ng lu ng character
Ví d 2: Ghi vào file m ng String Student:
Trang 30X lý nh p xu t d li u b ng lu ng character
Ví d 3: c d li u t file và hi n th ra màn hình:
Trang 31S d ng try… catch trong nh p xu t
Khi input/output d li u, có nh ng ngo i l ‘checked’ nên
b t bu c ph i catch khi vi t code, thông th ng các ngo i
l ó là:
IOException
FileNotFoundExceptionEOFException
NotSerializableException
…
Trang 32S d ng try… catch trong nh p xu t
Trang 33Chuy n i d li u ki u s
33
M i m t ki u d li u nguyên th y trong Java u có
m t class dành riêng cho nó Các class ó c g i
Trang 34Chuy n i d li u ki u s
M i m t ki u d li u nguyên th y trong Java u có m t class dành riêng cho nó
Trang 35Chuy n i d li u ki u s
Ki n trúc c a class wrapper
Trang 37có d ng parseXXX()
37
Trang 38Chuy n i d li u ki u s
Trang 39float a = Float.parseFloat(str1);
float b = Float.parseFloat(str2);
System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("a % b = " + (a % b));
Chuy n i d li u ki u s
Ví d :