vlinDone
BlogJava
首頁
新文章
新隨筆
聚合
管理
posts - 33, comments - 17, trackbacks - 0
文件拷貝
1
//
文件拷貝
2
import
java.io.
*
;
3
import
java.util.ArrayList;
4
import
java.util.List;
5
public
class
FileCopy
{
6
private
String message
=
""
;
7
public
String getMessage()
{
8
return
message;
9
}
10
public
void
setMessage(String message)
{
11
this
.message
=
message;
12
}
13
/** */
/**
14
* 將源文件拷貝到目標文件
15
*
16
*
@param
src
17
* 寫源文件地址,需文件名
18
*
@param
des
19
* 寫目標文件地址,無需文件名
20
*/
21
public
boolean
copyFile(String src, String des)
{
22
File srcFile
=
new
File(src);
23
File desDir
=
new
File(des);
24
File desFile
=
new
File(des
+
"
/
"
+
srcFile.getName());
25
//
判斷源文件是否存在
26
if
(
!
srcFile.exists())
{
27
this
.setMessage(
"
源文件不存在!
"
);
28
return
false
;
29
}
else
if
(
!
srcFile.isFile())
{
30
this
.setMessage(
"
源文件格式錯!
"
);
31
return
false
;
32
}
33
//
判斷源文件是否存在
34
if
(
!
desDir.exists())
{
35
this
.setMessage(
"
目標目錄不存在!
"
);
36
return
false
;
37
}
else
if
(
!
desDir.isDirectory())
{
38
this
.setMessage(
"
不是有效的目錄!
"
);
39
return
false
;
40
}
41
BufferedReader reader
=
null
;
42
BufferedWriter writer
=
null
;
43
String str;
44
try
{
45
reader
=
new
BufferedReader(
new
FileReader(srcFile));
46
writer
=
new
BufferedWriter(
new
FileWriter(desFile));
47
//
判斷目標文件是否存在及其格式,不存在就創建,格式不對先刪除,存在就替代
48
if
(
!
desFile.exists()
||
!
desFile.isFile())
{
49
if
(desFile.exists())
{
50
desFile.delete();
51
}
52
desFile.createNewFile();
53
}
54
//
從源文件讀取數據,并寫入目標文件
55
str
=
reader.readLine();
56
while
(str
!=
null
)
{
57
writer.write(str);
58
writer.newLine();
59
str
=
reader.readLine();
60
}
61
}
catch
(IOException e)
{
62
this
.setMessage(e.getMessage());
63
return
false
;
64
}
finally
{
65
if
(reader
!=
null
)
{
66
try
{
67
reader.close();
68
}
catch
(IOException e)
{
69
this
.setMessage(e.getMessage());
70
}
71
}
72
if
(writer
!=
null
)
{
73
try
{
74
writer.close();
75
}
catch
(IOException e)
{
76
this
.setMessage(e.getMessage());
77
}
78
}
79
}
80
return
true
;
81
}
82
private
List fileList
=
new
ArrayList();
83
84
/** */
/**
85
* 列出所有文件
86
*
@param
srcFile
87
*/
88
private
void
file(File srcFile)
{
89
if
(srcFile.isDirectory())
{
90
String[] files
=
srcFile.list();
91
92
for
(
int
i
=
0
; i
<
files.length; i
++
)
{
93
File f
=
new
File(srcFile
+
"
/
"
+
files[i]);
94
//
如果是文件加入列表,否則遞歸列出
95
if
(f.isFile())
{
96
fileList.add(f);
97
}
else
98
file(f);
99
}
100
}
else
this
.setMessage(srcFile.getAbsolutePath()
+
"
不是目錄
"
);
101
}
102
/** */
/**
103
* 建立目錄
104
*
@param
des
105
*
@throws
IOException
106
*/
private
void
mkdir(File des)
{
107
if
(
!
des.exists()
||
!
des.isDirectory())
{
108
mkdir(des.getParentFile());
109
if
(des.exists())
{
110
des.delete();
111
}
112
des.mkdir();
113
}
114
}
115
/** */
/**
116
* 復制目錄 將源目錄下所有文件拷貝到目標目錄下
117
*
@param
src 源目錄
118
*
@param
des 目標目錄
119
*/
120
public
boolean
copyDir(String src, String des)
{
121
File srcFile
=
new
File(src);
122
if
(
!
srcFile.exists())
{
123
this
.setMessage(
"
源目錄不存在!
"
);
124
return
false
;
125
}
else
if
(
!
srcFile.isDirectory())
{
126
this
.setMessage(src
+
"
不是有效的目錄!
"
);
127
return
false
;
128
}
129
file(srcFile);
130
131
for
(
int
i
=
0
; i
<
fileList.size(); i
++
)
{
132
String srcName
=
((File) fileList.get(i)).getPath();
133
String desName
=
srcName.substring(src.length(), srcName.length());
134
desName
=
des
+
desName;
135
File dir
=
new
File(desName).getParentFile();
136
mkdir(dir);
137
138
if
(
!
copyFile(srcName, dir.getPath()))
{
139
return
false
;
140
}
141
}
142
return
true
;
143
}
144
public
static
void
main(String[] args)
{
145
146
FileCopy t
=
new
FileCopy();
147
System.out.println(t.copyFile(
"
D:/aaa.txt
"
,
"
E:
"
));
148
String src
=
"
D:/asdf
"
;
149
String des
=
"
E:/adf
"
;
150
System.out.println(t.copyDir(src, des));
151
System.out.println(t.getMessage());
152
}
153
154
}
155
156
posted on 2008-07-23 17:41
scea2009
閱讀(80)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
個人
網摘(6)
隨筆檔案
2008年12月 (2)
2008年8月 (1)
2008年7月 (24)
2008年6月 (1)
2008年5月 (4)
PL/SQL存儲過程與函數
搜索
最新評論
1.?re: 18位號碼身份證校驗碼的計算公式[未登錄]
1@邱麗娟
--李杰
2.?re: 生成 JSON 字符串的工具
ddddddddd
--hls
3.?re: 18位號碼身份證校驗碼的計算公式
340621198706139338
--陸樹軍
4.?re: 生成 JSON 字符串的工具
12121
--11112dacda
5.?re: 18位號碼身份證校驗碼的計算公式
wozhidao
--lixziyu
閱讀排行榜
1.?18位號碼身份證校驗碼的計算公式(25071)
2.?生成 JSON 字符串的工具 (4959)
3.?s:select(2866)
4.?關于 Calendar.getInstance()(1410)
5.?根據輸入的ISBN號,檢驗ISBN的有效性(1410)
評論排行榜
1.?18位號碼身份證校驗碼的計算公式(10)
2.?根據輸入的ISBN號,檢驗ISBN的有效性(4)
3.?生成 JSON 字符串的工具 (2)
4.?時間計算工具類(1)
5.?數據庫連接(0)
Copyright ©2025 scea2009 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
国产精品永久免费10000
|
国产偷窥女洗浴在线观看亚洲
|
亚洲无码精品浪潮
|
中文字幕视频免费在线观看
|
亚洲AV日韩AV永久无码绿巨人
|
国产精品久久免费
|
看成年女人免费午夜视频
|
亚洲日本va午夜中文字幕一区
|
免费无码肉片在线观看
|
91在线免费视频
|
亚洲另类无码专区丝袜
|
日韩va亚洲va欧洲va国产
|
免费无码黄动漫在线观看
|
免费看黄的成人APP
|
亚洲成aⅴ人片久青草影院按摩
|
亚洲精品国产品国语在线
|
国产三级在线观看免费
|
国产中文字幕在线免费观看
|
最近在线2018视频免费观看
|
黄页网站在线免费观看
|
久久久久亚洲AV无码麻豆
|
mm1313亚洲精品无码又大又粗
|
999久久久免费精品播放
|
无遮挡a级毛片免费看
|
噜噜噜亚洲色成人网站∨
|
亚洲一级特黄无码片
|
免费中文熟妇在线影片
|
久久久久久久99精品免费
|
久久国产一片免费观看
|
亚洲色大成网站www尤物
|
亚洲日本中文字幕区
|
jizzjizz亚洲
|
成人毛片免费观看视频大全
|
日韩精品无码免费一区二区三区
|
全部免费毛片在线
|
无码乱肉视频免费大全合集
|
久久免费精品视频
|
国产精品高清免费网站
|
国产亚洲Av综合人人澡精品
|
亚洲首页国产精品丝袜
|
亚洲熟妇av一区
|