我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > JAVA操作文件复制、移动和删除
总共48086条微博

动态微博

查看: 1382|回复: 0

JAVA操作文件复制、移动和删除

[复制链接]

29

主题

5

听众

183

金钱

三袋弟子

该用户从未签到

跳转到指定楼层
楼主
发表于 2014-07-28 19:37:12 |只看该作者 |倒序浏览

1、删除
# D6 N) A% G( @3 F' Z6 ]- i' g# @0 Ijava中,删除文件非常简单,仅仅是一个方法调用
; Z6 ^2 b! N; v& @7 k9 I8 |new File("file path").delete();

2、移动
' B; V" S" ?" f- R移动文件和删除文件同样简单,也只需要一个方法调用:

new File("source file path").renameTo(new File("destination file path"));

3、复制
; p1 k0 U' u8 y6 LJava中复制文件需要比较复杂的操作,因为没有API来完成该任务。下面是一个将文件从一个目录复制到另一个目录的例子:

public void copyFiles(String source, String destination) throws IOException {
$ o$ J( J) @. m6 _4 T! VFile srcDir = new File(source);
+ i7 y3 w3 ]' G5 d# O/ lFile[] files = srcDir.listFiles();

FileChannel in = null;0 E4 g1 a* ]; m: F0 [! m
FileChannel out = null;, w& f: c! }6 M" y5 E$ K. {$ T( M% a
for (File file : files) {
: ^: {" g" w  [* A( r9 Ntry {
5 C! \0 q! W" Y2 ^& |; ]" }6 z2 [: Win = new FileInputStream(file).getChannel();
. i- O/ U& o, U: N/ ~+ S" G. OFile outFile = new File(destination, file.getName());
3 c/ ?9 h* h& u& |0 i: r+ cout = new FileOutputStream(outFile).getChannel();
5 \' e0 k% V( y8 N. X9 Min.transferTo(0, in.size(), out);
- h4 X% p& Z1 e9 Y5 h2 J$ x% \} finally {
7 B2 X6 q- f3 @: d1 aif (in != null)& d; b% v' y* w
in.close();2 X% Z$ w- H6 D. o5 U
if (out != null)
: H) H, x7 t: Q8 T; h+ L% x% `out.close();
6 n0 Y4 d' h$ d" G7 O4 N, u4 Y}
! z6 W1 b* K+ B9 N}
  J* t, \5 T$ N) q}上面的代码中使用Java5中的NIO API,它能快速的完成任务

' v( o/ G5 p/ A1 T  i/ v+ i

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

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

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表