X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FMigrationTools%2Forg%2Ftianocore%2Fmigration%2FCommon.java;h=3468a43cebb3c26fffcd260ddbae8834f8ec99ed;hp=83b4e869b6e54b1aeb9e684305575244ce36abcb;hb=8c4eeeb6a58a41aee05259ae8f1cdb3de6c58bbf;hpb=e537d5c1300febed070dc6a4fbc1103d9df1b340 diff --git a/Tools/Source/MigrationTools/org/tianocore/migration/Common.java b/Tools/Source/MigrationTools/org/tianocore/migration/Common.java index 83b4e869b6..3468a43ceb 100644 --- a/Tools/Source/MigrationTools/org/tianocore/migration/Common.java +++ b/Tools/Source/MigrationTools/org/tianocore/migration/Common.java @@ -1,3 +1,15 @@ +/** @file + + Copyright (c) 2006, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + **/ package org.tianocore.migration; import java.io.*; @@ -5,6 +17,8 @@ import java.util.regex.*; import java.util.*; public class Common { + public static Pattern ptnseparate = Pattern.compile("(.*)\\\\([^\\\\]*)"); + public static String file2string(String filename) throws Exception { BufferedReader rd = new BufferedReader(new FileReader(filename)); StringBuffer wholefile = new StringBuffer(); @@ -16,11 +30,8 @@ public class Common { } public static void ensureDir(String objFileWhole) { - Pattern ptnseparate = Pattern.compile("(.*)\\\\[^\\\\]*"); - Matcher mtrseparate; File tempdir; - - mtrseparate = ptnseparate.matcher(objFileWhole); + Matcher mtrseparate = ptnseparate.matcher(objFileWhole); if (mtrseparate.find()) { tempdir = new File(mtrseparate.group(1)); if (!tempdir.exists()) tempdir.mkdirs(); @@ -51,6 +62,29 @@ public class Common { return filelist; } + + public static String dirCopy_(String src) throws Exception { + Matcher mtrseparate = Common.ptnseparate.matcher(src); + if (mtrseparate.find()) { + dirCopy(src, mtrseparate.group(1) + File.separator + "_" + mtrseparate.group(2)); + } + return mtrseparate.group(1) + File.separator + "_" + mtrseparate.group(2); + } + + public static void dirCopy(String src, String des) throws Exception { + String[] list = new File(src).list(); + File test; + + for (int i = 0 ; i < list.length ; i++) { + test = new File(src + File.separator + list[i]); + if (test.isDirectory()) { + dirCopy(src + File.separator + list[i], des + File.separator + list[i]); + } else { + ensureDir(des + File.separator + list[i]); + string2file(file2string(src + File.separator + list[i]), des + File.separator + list[i]); + } + } + } public static void toDoAll(String path, ForDoAll fda) throws Exception { // filter of file type can be done in toDo String[] list = new File(path).list();