java भोजन - चींटी का उपयोग कर निर्देशिका की प्रतिलिपि कैसे करें




फायर एंट (10)

मैंने एक निर्देशिका पेड़ की प्रतिलिपि बनाने के लिए copydir का उपयोग किया है, लेकिन इसे बहिष्कृत किया गया है। मेरी निर्देशिका में कुछ उप-निर्देशिकाएं हैं, और उनमें से कुछ में फ़ाइलें हैं और अन्य में अधिक उप-निर्देशिकाएं हैं।

मैं पूरे पेड़ की प्रतिलिपि कैसे बना सकता हूं?


Answers

अंततः मैं निम्नलिखित कोड का उपयोग कर कॉपी किया

<copy todir="${root.dir}/dist/src">  
                <fileset dir="${root.dir}/build/src" includes="**"/>  
            </copy>

यह src फ़ोल्डर को डिस्ट से बिल्ड करने के लिए कॉपी करेगा।

उम्मीद है कि यह किसी की मदद करता है।


निर्देशिका सहित सामग्री की प्रतिलिपि बनाएँ।

<copy todir="${dest.dir}" >  
    <fileset dir="${src.dir.parent}">  
        <include name="${src.dir}/**"/>
    </fileset>
</copy>

एक अन्य चींटी कार्य Copydir । यहां का मुख्य भाग उस निर्देशिका का नाम शामिल करना है जिसे आप dest निर्देशिका के बाद प्रतिलिपि बनाना चाहते हैं। उप-निर्देशिकाओं और फ़ाइलों को स्वचालित रूप से कॉपी किया जाएगा।

<target name="-post-jar">
    <copydir src="config" dest="${dist.dir}/config/"/>
</target>

इस कोड को फ़ोल्डर के साथ-साथ इसकी सामग्री कॉपी करनी चाहिए। यह मैन्युअल पथ पार्सिंग करने से बचने के लिए बेसनाम कार्य का भी उपयोग करता है।

<project name="Build" default="doCopy">
  <property name="source.dir" value="SourceDirPathGoesHere"/>
  <property name="dest.dir" value="DestinationDirPathGoesHere"/>
  <target name="doCopy">
    <basename property="source.dir.base.name" file="${source.dir}"/>
    <copy todir="${dest.dir}">
      <fileset dir="${source.dir}/.." includes="${source.dir.base.name}/**"/>
    </copy>
  </target>
</project>

निर्देशिका सहित सामग्री की प्रतिलिपि बनाएँ।

<copy todir="${dest.dir}" >  
  <fileset dir="${src.dir.parent}" includes="${src.dir}/**"/>
</copy>

मैं सभी सबफोल्डर की प्रतिलिपि बनाने के लिए एक और सामान्य पैटर्न जोड़ रहा हूं।

<copy todir="${dest.dir}" >  
  <fileset dir="${src.dir}" includes="**/*"/>
</copy>

विवरण के लिए Patterns देखें।


<copy todir="${dest.dir}" >  
    <fileset dir="${src.dir}" includes="**"/>  
</copy> 

मान लीजिए कि आप जो चाहते हैं वह करेंगे ... (रिकर्सिव कॉपी किया गया)


मैंने निर्देशिका के अंदर individul jar फ़ाइलों की प्रतिलिपि बनाने के लिए मेरे build.xml फ़ाइल में नीचे कोड स्निपेट में दिखाए गए टैग शामिल किए हैं।

<target name="devInstall" depends="generateXsl" description="testing">
<copy flatten="true" todir="${test}/WEB-INF/lib" overwrite="${overwrite}">
                <fileset refid="buildJars"/>
                <fileset dir="lib">
                    <include name="commons-collections-*.jar"/>
                    <include name="commons-io-*.jar"/>              
                    <include name="kodo/*.jar"/>
                    <include name="mail*.jar"/>    
                    <include name="activation*.jar"/>               
                    <include name="guava*.jar"/>
                    <include name="jna*.jar"/>                          
                </fileset>          
            </copy>
</target>

आपको केवल निर्देशिका निर्दिष्ट करना होगा (इसमें संपत्ति शामिल है):

<copy todir="../new/dir">
    <fileset dir="src_dir"/>
</copy>

अधिक जानकारी और उदाहरणों के लिए manual देखें।


जेडीके में सबसे आसान तरीका निम्नलिखित कोड स्निपलेट्स के साथ है।

String convertToString(InputStream in){
    String resource = new Scanner(in).useDelimiter("\\Z").next();
    return resource;
}




java ant