Giáo Trình Lập Trình Java - Part128

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

//Tạo ra đối tượng của f i l e để xử lý từng mục

F i l e i t e m = new F i l e ( e n t r y . g e t P a t h (), f i l e N a r a e [ i ] ) ;
// Gọi đệ quy hàm l i s t D i r e c t o r y () để hiển thị từng tệp.
lis tD ire c to ry (ite m );
}
}
} c a t c h ( I O E x c e p t i o n e) {
S y ste m .o u t,p rin tln (" E rro r:" + e ) ;
}
}
}
Chạy chương trình và nhập vào một thư mục, ví dụ: "D: \ M a s t e r " thì tất cà các
f i l e trong thư mục này sẽ được hiển thị có dạng như hình 6.3.
General O utput
é
---------------------------------------------- C o n f ì g u r a t i o n : < D e f a u l t > -----------------------------------------------
Cho b ie t te n th u m uc: D :\M a s t e r
D :\M a s t e r \D e t a iC a c x H o c .d o c
D : '• M a s t o r \D © t o iC a o H o c 2 0 0 9 .d o c
D : \ M a s t e r \ O i a o t n n h J a v a .d o c
D : N H a ste rs O O P N B o i t i e u lu a n L a p t r i n h HDT V O I J a v a (B a i 1 - M u lt i
D :\M a s t e r \O O P \B a i t ỉ e u lu a n L a o t r i n h HDT v o i J o v a (B a i ỉ - M u l t i '

3 ĩask V evv 3 General Output

Hình 6.3. Hiển thị nội dung của thư mục

> Chương trình 6.3: Nhập vào một f i l e hoặc một thư mục ( D i r e c t o r y ) ,
chuông trình kiểm tra và hiển thị các thông tin liên quan đến f i l e hoặc thư mục.
im p o rt j a v a . a w t .* ;
im p o rt j a v a . a w t . e v e n t .* ;
im p o rt j a v a . i o .* ;
im p o rt j a v a x . sw in g . * ;
p u b lic c l a s s F i l e T e s t e x te n d s JFram e
im p lem en ts A c t i o n L i s t e n e r {
p r iv a te JT e x tF ie ld e n te rF ie ld ;
p r i v a t e Ơ TextA rea o u tp u t A r e a ;
// Thiết lập GUI
p u b l i c F i l e T e s t () {
s u p e r ( "Nhap t e n f i l e h o a c t h u m u c : ");
e n t e r F i e l d = new J T e x t F i e l d (15) ;
e n te rF ie ld .a d d A c tio n L iste n e r(th is);
o u t p u t A r e a = new J T e x t A r e a () ;
S c r o l l P a n e s c r o l l P a n e = n ew S c r o l l P a n e () ;
s c r o l l P a n e . ad d (o u tp u tA re a );
C o n t a i n e r C o n t a i n e r = g e t C o n t e n t P a n e () ;
C o n t a i n e r . a d d ( e n t e r F i e l d , B o r d e r L a y o u t . NORTH);
Container.add(scrollPane, BorderLayout.CENTER);
s e t s i z e (400, 4 0 0 );
setv isib le (tru e );
} // Kết thúc c o n s t r u c t o r

256
II Hiển thị các thông tin đặc tá f i l e
p u b l i c v o i d a c t i o n P e r f o rm e d ( A c t i o n E v e n t a c t i o n E v e n t ) {
s t r i n g naraeF = a c t i o n E v e n t . g e tA c ti o n C o m m a n d () ;
F i l e nam e = new F i l e (nam eF);
// Nếu có f i l e trong thư mục hiện thời thì hiển thị các thông tin về f i l e đó
i f (n am e. e x i s t s ()) {
o u t p u t A r e a . s e t T e x t ( n a m e . g e t N a m e ()
+ (nam e. i s F i l e ()? " l a f i l e \ n " : " khong co f i l e \ n " )
+ n a m e . i s D i r e c t o r y () ? " l a th u m u c \ n " : " k h o n g c o t h u m u c \ n " )
+ (nam e . i s A b s o l u t e () ? " c h i l a d u o n g d a n \ n " :
" k h o n g p h a i d u o n g d a n \ n " ) + " Da d u o c c a p n h a t l a n c u o i :"
+ n am e . l a s t M o d i f i e d () + " \ n D o d a i : " + n a m e . l e n g t h ()
+ " \n D u o n g d a n : " + n a m e . g e t P a t h () + " \n D uo ng d a n t u y e t d o i : "
+ n am e . g e t A b s o l u t e P a t h () + " \ n T h u muc c h a : "
+ nam e.g e tP a r e n t( ) );
i f (nam e. i s F i l e ()){
// Đưa nội dung cùa f i l e vào o u t p u t A r e a
try {
B u f f e r e d R e a d e r i n p u t = new B uf f e r e d R e a d e r (
new F i l e R e a d e r ( n a m e ) ) ;
S t r i n g B u f f e r b u f f e r = new S t r i n g B u f f e r () ;
s trin g te x t ;
o u tp u tA r e a . ap p en d ( "\n \n " );
w h ile ( ( t e x t = i n p u t . r e a d L i n e ()) ! = n u l l )
b u f f e r . a p p e n d (t e x t + " \ n " ) ;
o u t p u t A r e a . a p p e n d ( b u f f e r . t o S t r i n g () );
}
// Xử lý các trường hợp ngoại lệ cùa f i l e
c a t c h (IO E x cep tio n io E x c e p tio n ) {
J O p t i o n P a n e . s h o w M e s s a g e D i a l o g ( t h i s , " FILE ERROR " ,
" F IL E ERROR", J O p t i o n P a n e . ERROR_MESSAGE);
}
}
// Hiển thị nội dung cùa thư mục
e l s e i f (nam e. i s D i r e c t o r y ()) {
s t r i n g d i r e c t o r y [] = name . l i s t () ;
o u t p u t A r e a . a p p e n d ( " \ n \ n N o i d u n g c u a t h u muc : \ n " ) ;
f o r ( i n t ỉ - 0 ; i < d i r e c t o r y . l e n g t h ; i ++ )
o u tp u tA r e a . a p p e n d ( d ir e c to r y [ i ] + "\n ");
}
} // Kết thúc i f ngoài cùng
// Thông báo lỗi nếu dữ liệu nhập vào không phái là f i l e và thư mục
e ls e {
J O p t i o n P a n e . sh o w M essag eD ialo g (t h i s ,
a c t i o n E v e n t . g e t A c t i o n C o m m a n d () + " Khong t o n t a i " ,
" ERROR", J O p t i o n P a n e . ERROR MESSAGE) ;
}
} // Ket thúc phương thức a c t io n P e r ío r m e d ()

257

You might also like