当前位置: 首页 > article >正文

如何复制一个文件

 我已经定义了一个copyFile(File file,File saveDir),能成功地复制文件,现在我想要复制一个文件,我想把这个文件夹下的所有文件和文件夹用文件列表形式表示,如果遇到文件就调用copyFile()函数复制,如果遇到文件夹调用它本身复制,但是复制时候出现异常:

显示:
输入文件所在路径:c:/film
文件路径:c://film
您输入的是一个目录...
输入要保存路径:d:/
c:/film下有2个文件
c:/film/f下有2个文件
正在复制文件: Thumbs.db  请稍后...
Exception in thread "main" java.lang.NullPointerException
 at bag.Copy.findName2(Copy.java:78)
 at bag.Copy.copyFile(Copy.java:104)
 at bag.Copy.copyFile2(Copy.java:168)
 at bag.Copy.copyFile2(Copy.java:171)
 at bag.Copy.main(Copy.java:207)

 

/**************************************************************************
                   copyFile2() 复制文件夹方法
**************************************************************************/
static void copyFile2(File oldDir,File newDir)
{
  //oldDir  要复制文件夹
  //newDir   存放路径
  //在nesDir文件夹下创建一个oldDir文件夹

  String strOldDir=oldDir.getName().toString(); 
  //oldDir转化为字符串strOldDir

  String strNewDir=newDir.toString();  
  //newDir转化为字符串strNewDir

  tring endDir=run(strNewDir+oldDir.getName()).trim(); 
  //run是自己定义函数,转化路径,如 c:/film转化为c://film以便java识别
  //endDir:在目的路径下建立一个文件夹

  File newSonFile = new File(endDir);
  File oldFiles[]=oldDir.listFiles();
  if(oldFiles!=null)
  {
    System.out.println(oldDir+"下有"+oldFiles.length+"个文件");
    for(int i=0;i<oldFiles.length;i++)
    {
      //如果是文件则调用复制函数
      if(oldFiles[i].isFile())
        copyFile(oldFiles[i],newSonFile);
      //如果是文件夹继续调用复制文件夹函数
      else
        copyFile2(oldFiles[i],newSonFile);
    }
  }
}
为什么?高手能帮我解决一下吗?多谢了.

http://www.lryc.cn/news/2419713.html

相关文章:

  • golang反射简介
  • 电脑系统时间同步更新时提示“RPC服务器不可用”解决办法
  • PostgreSQL数据库安装教程
  • 杀死excel所有进程
  • 苹果电脑怎么切换输入法_高顿:CPA考试技巧:巧用搜狗输入法“v”模式,非常实用!...
  • 解惑:Redis的HSCAN命令中COUNT参数的失效场景
  • JINK/SWD找不到内核,故障汇总
  • 调试编译错误信息总结
  • oracle 如何实现excel的正态分布函数normdist
  • CAPLE实现CAN路由的自动化测试
  • 应用层与驱动层通信DeviceIoControl
  • GoYouBBS: 基于Go语言构建的强大论坛系统
  • 渗透测试工程师——第一部分 信息扫描实验系列 001主机存活性探测实验
  • Android布局基础知识:wrap_content,match_parent,layout_weight
  • 树莓派安装MJPG-streamer
  • GALGAME文字提取agth 特殊码大全(特殊码表)和使用方法
  • delphi中使用MSWINSCK.OCX控件
  • 私库如何区分正式和测试环境独立的库
  • md5值是什么意思_详解:PER?霍林格效率值?这个最火的高阶数据究竟是什么意思?...
  • 正在载入中......loading页面的几种方法
  • c++求矩阵的秩_Matlab:矩阵的秩,简化梯形矩阵和线性方程组
  • 【C语言】:static和extern的详细介绍和使用
  • softcore -- CPU rasterization
  • xp序列号大全可通过正版验证的XP序列号发布
  • SolrIK分词器-简单介绍与安装
  • MouseArea组件和MouseEvent事件在Qt中是经常使用的重要组件和事件。本文将详细介绍MouseArea组件和MouseEvent事件的用法,并提供...
  • TTYL的完整形式是什么?
  • mongo执行命令: not authorized on admin to execute command
  • 【渝粤教育】电大中专电商运营实操12作业 题库
  • nbtscan局域网扫描的原理