a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 334|回复: 0

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

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
Java认证:java删除和拷贝文件递归实现& {; s7 h% g6 T+ X! H3 |
java删除和拷贝文件递归实现方法简单点:程序自己调用自己
& O1 U7 d) A6 b: ?9 {+ S实现文件的删除和拷贝,代码如下:
' R4 N) g9 b1 d. B2 Z- l  y5 U/ z6 wpackage com.viita;* L- E* P! O3 C9 P1 f
import java.io.BufferedInputStream;) y1 P" d* m; W. j3 D; I
import java.io.BufferedOutputStream;7 }2 m! r6 j0 \$ a2 k& G7 \
import java.io.DataInputStream;
+ e+ ~2 `4 _( O2 [' ?( Oimport java.io.DataOutputStream;9 `1 d! x9 ^& ?; [- K
import java.io.File;
" Q- H/ ^# [# zimport java.io.FileInputStream;) {! t( k) _' l
import java.io.FileOutputStream;
1 ~. A+ z' _" ^* C! H! Kimport java.io.IOException;
% g$ y$ U8 f5 i5 {public class Dptest {
% t8 x& G2 f! Z1 ~) y- e, F//删除制定文件夹的所有文件及根文件夹
0 g6 Z9 M" H6 [9 L- Z+ c) Apublic void deleteFile(String path) {
3 h' \3 [+ \9 z+ u3 w  Q' n// TODO Auto-generated method stub. ^! m2 i9 t5 \9 q
File f = new File(path);% \5 I  b( l2 T% v5 }3 g0 c- {
if(f.isDirectory())6 l. i- X2 w' x% R: @7 `* E+ |" {
{; A9 T% ]: v, Z$ M' v2 k3 k% C
File[] file = f.listFiles();4 N/ K9 \9 e" I% J3 e) p5 K
for (File file2 : file) {
& i1 |  v1 n% ]8 o9 Wthis.deleteFile(file2.toString());
, b, g1 U5 w5 U6 zfile2.delete();3 e, T2 M8 h# e9 ]* Z
}
4 _( b: ~9 L5 l( }}else
3 S- L8 H* @! g9 v{
/ u# J+ x* r7 V' F/ b7 R5 Qf.delete();1 R$ l6 Y1 }6 c, z: X0 \9 A) b* g/ S
}
# ^! F- w6 M9 tf.delete();  Y7 s; e8 }- t  G6 M
}
& B2 o; s' S, N$ K0 B//拷贝整个文件夹的方法/ G" i/ N6 O  L  o
public void copyFiles(String path1, String path2) throws Exception {' S* u( p# U0 O5 P. w* _' ~7 k
// TODO Auto-generated method stub
) f8 M3 b% V: @: K! q' c7 dFile file = new File(path1);, ^( M0 \4 Q0 T% j
if(file.isDirectory())
6 s- S7 C* Y# n{8 e9 P. h+ t7 r5 f# u
File f = new File(path2);1 w0 I' I+ ]: M! Y1 S0 q
if(!f.exists()) f.mkdir();
( @9 }# h$ F* G" U, IFile[] files = file.listFiles();( E, o* ^; `* ?# g$ s! z2 J& h
for (File file2 : files) {
0 t  @; i% L- D//System.out.println(file2.toString()+“-----”+path2+“/”+file2.getName());
* M# h  D' W2 S6 G) _3 q! M- mcopyFiles(file2.toString(),path2+“/”+file2.getName());
1 G/ X* k6 m4 t}2 F2 x, S, I* r# C
}else
4 T6 R9 H$ ]$ @3 X' y+ y9 K{
9 z, S* W! p; B. [copy(path1,path2);7 ]/ [; z+ t& e5 y2 _6 X( `* g
}( b2 r' v! x* c8 [
}4 r% W' s) {' u! ]+ |! g
//拷贝单个文件的方法) `; a& c  |9 Q/ W4 Z' v0 ~
public void copy(String path1,String path2) throws IOException {' D- s: `4 g1 ?, ~2 F& `
// TODO Auto-generated method stub
5 i7 w( Y7 n4 H) c2 @- ?6 LDataInputStream in = new DataInputStream(
. F4 B0 J; q* v) Bnew BufferedInputStream(8 C/ \0 q+ |- E  z: k7 O9 N+ G3 p
new FileInputStream(path1)));
3 H0 o( X7 B5 V* j+ T/ J, `7 i+ {6 ^byte[] date = new byte[in.available()];0 J, {- M) V8 E; n" P  r
in.read(date);
' e" R6 K/ P0 `/ s. EDataOutputStream out = new DataOutputStream(& Z7 c  p' S* f4 w
new BufferedOutputStream(
6 `& L7 U# m0 m7 T" C- j7 c  fnew FileOutputStream(path2)));
. \8 E5 u) R* K, \4 Yout.write(date);" e+ m2 [/ h3 ~3 ^6 _& c  A3 i
in.close();
7 p# n* l2 X: X* Tout.close();
1 O2 d4 U0 H2 e% n8 D  }% Z}( H8 l/ ?8 `7 X" Q. H% V- m
public static void main(String[] args) throws Exception {
/ }! P7 u- h( x9 N1 \Dptest dp = new Dptest();
4 a6 N# N1 ~% ?' e% rdp.deleteFile(“c:/wmpub”);
& S! F. J/ ?2 W// dp.copyFiles(“c:/新建文件夹”, “c:/xiao”);
" v2 r. K4 s% j  r1 o- l# @9 z, v}3 x( A- X$ }: z! Q  S) b5 h! e/ w9 G
}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 10:33 , Processed in 0.183425 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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