sd0158 2010-03-29 12:19
浏览 257
已采纳

JAVA高手来

怎么做个JAVA应用程序,把一个文件复制到指定目录。

  • 写回答

5条回答 默认 最新

  • suziwen 2010-03-29 12:24
    关注

    java文件复制程序

    [url]http://www.easyjf.com/blog.ejf?cmd=doc&id=1048581[/url]
    [code="java"]
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;

    /**

    • Title: 文件处理工具类
    • Description:实现文件的简单处理,复制文件、目录等
    • Copyright: Copyright (c) 2005
    • Company: www.easyjf.com
    • @author 天一
    • @version 1.0
      */
      public class FileUtil {

      /**

      • 复制目录下的文件(不包括该目录)到指定目录,会连同子目录一起复制过去。
      • @param targetFile
      • @param path */ public static void copyFileFromDir(String targetDir, String path) { File file = new File(path); createFile(targetDir, false); if (file.isDirectory()) { copyFileToDir(targetDir, listFile(file)); } }

      /**

      • 复制目录下的文件(不包含该目录和子目录,只复制目录下的文件)到指定目录。
      • @param targetDir
      • @param path */ public static void copyFileOnly(String targetDir, String path) { File file = new File(path); File targetFile = new File(targetDir); if (file.isDirectory()) { File[] files = file.listFiles(); for (File subFile : files) { if (subFile.isFile()) { copyFile(targetFile, subFile); } } } }

      /**

      • 复制目录到指定目录。targetDir是目标目录,path是源目录。
      • 该方法会将path以及path下的文件和子目录全部复制到目标目录
      • @param targetDir
      • @param path */ public static void copyDir(String targetDir, String path) { File targetFile = new File(targetDir); createFile(targetFile, false); File file = new File(path); if (targetFile.isDirectory() && file.isDirectory()) { copyFileToDir(targetFile.getAbsolutePath() + "/" + file.getName(), listFile(file)); } }

      /**

      • 复制一组文件到指定目录。targetDir是目标目录,filePath是需要复制的文件路径
      • @param targetDir
      • @param filePath */ public static void copyFileToDir(String targetDir, String... filePath) { if (targetDir == null || "".equals(targetDir)) { System.out.println("参数错误,目标路径不能为空"); return; } File targetFile = new File(targetDir); if (!targetFile.exists()) { targetFile.mkdir(); } else { if (!targetFile.isDirectory()) { System.out.println("参数错误,目标路径指向的不是一个目录!"); return; } } for (String path : filePath) { File file = new File(path); if (file.isDirectory()) { copyFileToDir(targetDir + "/" + file.getName(), listFile(file)); } else { copyFileToDir(targetDir, file, ""); } } }

      /**

      • 复制文件到指定目录。targetDir是目标目录,file是源文件名,newName是重命名的名字。
      • @param targetFile
      • @param file
      • @param newName */ public static void copyFileToDir(String targetDir, File file, String newName) { String newFile = ""; if (newName != null && !"".equals(newName)) { newFile = targetDir + "/" + newName; } else { newFile = targetDir + "/" + file.getName(); } File tFile = new File(newFile); copyFile(tFile, file); }

      /**

      • 复制文件。targetFile为目标文件,file为源文件
      • @param targetFile
      • @param file */ public static void copyFile(File targetFile, File file) { if (targetFile.exists()) { System.out.println("文件" + targetFile.getAbsolutePath() + "已经存在,跳过该文件!"); return; } else { createFile(targetFile, true); } System.out.println("复制文件" + file.getAbsolutePath() + "到" + targetFile.getAbsolutePath()); try { InputStream is = new FileInputStream(file); FileOutputStream fos = new FileOutputStream(targetFile); byte[] buffer = new byte[1024]; while (is.read(buffer) != -1) { fos.write(buffer); } is.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }

      public static String[] listFile(File dir) {
      String absolutPath = dir.getAbsolutePath();
      String[] paths = dir.list();
      String[] files = new String[paths.length];
      for (int i = 0; i < paths.length; i++) {
      files[i] = absolutPath + "/" + paths[i];
      }
      return files;
      }

      public static void createFile(String path, boolean isFile){
      createFile(new File(path), isFile);
      }

      public static void createFile(File file, boolean isFile) {
      if (!file.exists()) {
      if (!file.getParentFile().exists()) {
      createFile(file.getParentFile(), false);
      } else {
      if (isFile) {
      try {
      file.createNewFile();
      } catch (IOException e) {
      e.printStackTrace();
      }
      } else {
      file.mkdir();
      }
      }
      }
      }

    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 ROS Turtlebot3 多机协同自主探索环境时遇到的多机任务分配问题,explore节点
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题