a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 378|回复: 0

[专业语言] Java认证:java删除和拷贝文件递归实现

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
Java认证:java删除和拷贝文件递归实现9 t) L, z3 M& L  `) }' s" S" Z
java删除和拷贝文件递归实现方法简单点:程序自己调用自己9 O% H7 F  J4 o8 \3 d
实现文件的删除和拷贝,代码如下:
) _2 C$ A: I$ b" q$ mpackage com.viita;5 e- c1 q: j! n. Q" m
import java.io.BufferedInputStream;6 P+ I$ N8 z8 c; s6 y$ s3 q# z
import java.io.BufferedOutputStream;
; c: g3 Q7 k, k. b; Simport java.io.DataInputStream;
6 z% D, Y4 l& ~+ }' ]8 _2 S5 Dimport java.io.DataOutputStream;1 U2 Z5 f& z- n7 S
import java.io.File;
$ _6 Q6 N' }9 G, y+ mimport java.io.FileInputStream;
) [3 U6 r. ?' T8 c6 D# Ximport java.io.FileOutputStream;& {8 m- ?% E. L) y1 E6 w
import java.io.IOException;
  l/ x; h4 D$ g+ P% Spublic class Dptest {
2 ?( p; V  }& K% E& ]: m1 _) F- E//删除制定文件夹的所有文件及根文件夹
7 h6 F/ b; P. B# c( s0 ~8 u/ U/ q- tpublic void deleteFile(String path) {
  Z& J, g( h+ r, X" c  `7 B2 l// TODO Auto-generated method stub
5 W# z4 G) i, hFile f = new File(path);
' p  A3 p, ^7 W2 K+ u. a6 n% Xif(f.isDirectory())
% G  ^6 A+ n7 V! O2 S{
% |6 M! b' @* B" v# p9 MFile[] file = f.listFiles();
  b& v! o( c0 |4 d0 K9 |for (File file2 : file) {; ]  B# U1 y  M$ x9 @0 h
this.deleteFile(file2.toString());! c( s1 K$ a2 \( i, f% |" E# K2 P
file2.delete();
* ]- C* X# h5 M8 h1 h. Z9 X2 ^}. P' g, W/ K) Q3 G
}else$ p! i8 A" q$ Y' z9 h
{! x+ H, y2 ^: @) u! A. w3 c
f.delete();8 S: t& N4 Z' k
}
3 h# X: A2 K) A  C2 ^f.delete();; s( b9 f8 V! d; ?
}& p, G9 \4 P( P0 r; Z
//拷贝整个文件夹的方法
* z6 q. E, B' M1 i0 E. u  ~public void copyFiles(String path1, String path2) throws Exception {. x% o* d7 j; d- Y+ z) I9 m# Z
// TODO Auto-generated method stub
, t5 l' n" W' |7 ?File file = new File(path1);) ]3 ^  ~+ p  j% }2 l" G
if(file.isDirectory())
& ]# q  q- W7 V{
" }) t, |' F, C% ]0 o; NFile f = new File(path2);. o! X" |6 i2 n  j
if(!f.exists()) f.mkdir();
5 G- H7 y% \, E3 v5 ~7 |+ iFile[] files = file.listFiles();
! ?- z7 g* Q* x4 T1 g- B7 qfor (File file2 : files) {/ X  d4 e# ^. D0 r4 A" A. {6 O
//System.out.println(file2.toString()+“-----”+path2+“/”+file2.getName());
0 c% k. [1 |% {5 kcopyFiles(file2.toString(),path2+“/”+file2.getName());; @3 J% B+ b3 C, R
}# t: G# h9 x, O$ P
}else
4 M* W' S; u8 f! S; `: y7 C9 l{( O. V/ ]$ {! ^# ^
copy(path1,path2);7 ^5 o& F7 ?- c
}
8 f7 ^- g; K$ m$ V0 K7 ?2 F}, b0 o. Z7 R7 q, U
//拷贝单个文件的方法6 U$ H" {. J: M  X9 v) ^" C
public void copy(String path1,String path2) throws IOException {# o( w5 n* g  v9 @
// TODO Auto-generated method stub
- A) e/ H! y9 ^DataInputStream in = new DataInputStream(2 P0 s% ~, P9 r( t
new BufferedInputStream(* W5 z+ ]' t7 Z
new FileInputStream(path1)));
6 R$ B3 d( A, F; D, D+ Nbyte[] date = new byte[in.available()];, w8 l0 D- O. U. J
in.read(date);
' @1 K# v1 u) N2 ~+ s5 R7 @; @DataOutputStream out = new DataOutputStream(, \* s8 n; f+ A3 F
new BufferedOutputStream(' B1 }# M, i  X! @! z: p! m! Z7 E
new FileOutputStream(path2)));: ?/ C: r- j) O
out.write(date);
  m( o, _: f" rin.close();
5 x$ h& }9 D6 g% iout.close();
  h" s) l5 Z& n  r. Y3 c}" t; E% A. {% [8 H
public static void main(String[] args) throws Exception {" B: N& J* e, U
Dptest dp = new Dptest();7 U- g+ ~5 L7 q# m. g# v
dp.deleteFile(“c:/wmpub”);
# q+ {2 t+ i: W7 [6 b5 P// dp.copyFiles(“c:/新建文件夹”, “c:/xiao”);- A# v4 v; M3 _! O  ?8 j. W
}
* S9 q1 r* T6 q1 R" A  v}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-9-27 19:49 , Processed in 0.463138 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表