Java 拷贝文件和创建多个目录

来源:互联网 发布:网络交流环境的现状 编辑:程序博客网 时间:2024/05/18 01:32

1. 使用用例:

import java.io.File;import java.util.StringTokenizer;public class CopyFiles extends FileUtil {private static void CopyFiles_Help(final String src, final String dest){int nIndex = dest.lastIndexOf(File.separator);CreateFolders( dest.substring(0, nIndex) );CopyFile(src,dest);}public static void main(String[] args) {String[] strs=new String[]{"target\\config\\comps\\src\\usrUsb2PhdcInit.c","target\\config\\comps\\src\\usrUsbDebug.c","target\\config\\comps\\src\\usrUsbInit.c","target\\config\\comps\\vxWorks\\40usb.cdf","target\\h\\usb\\usbOsalDebug.h","target\\h\\usb2\\usb2Phdc.h","target\\src\\drv\\usb2\\healthcare\\usb2Phdc.c","target\\src\\drv\\usb2\\healthcare\\Makefile"};for(int i=0;i<strs.length;i++){CopyFiles_Help("D:\\wind6921\\vxworks-6.9\\"+strs[i], "D:\\My Documents\\Google Drive\\pmd-medical\\usbhealthcare"+strs[i] );}}}

2.  文件工具类

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.StringTokenizer;public class FileUtil {public static  void CreateFolders(final String folders) {StringTokenizer st = new StringTokenizer(folders, File.separator);StringBuilder sb = new StringBuilder();String osname = System.getProperty("os.name");if (osname.compareToIgnoreCase("linux") == 0)sb.append(File.separator);while (st.hasMoreTokens()) {sb.append(st.nextToken());File file = new File(sb.toString());if (!file.exists())file.mkdir();sb.append(File.separator);}}public static  boolean CopyFile(final String src, final String dest) {File srcFile = new File(src);File destFile = new File(dest);try {if(!destFile.exists())destFile.createNewFile();FileInputStream fin = new FileInputStream(srcFile);FileOutputStream fout = new FileOutputStream(destFile);int n = 0;byte[] buf = new byte[4096];while ( (n = fin.read(buf)) != -1 ) {fout.write(buf, 0, n);}fout.close();fin.close();} catch (FileNotFoundException e) {e.printStackTrace();return false;} catch (IOException e) {e.printStackTrace();return false;}return true;}}

作者:文山 www.wenshan.me


原创粉丝点击