`

ant 打包时如何获取某文件的大小

    博客分类:
  • ant
阅读更多

一开始ant不熟悉,不知道如何取得文件的大小,但可以通过java代码获取,因此做了如下java文件:

public class FileSize

{

    public static void main(String[] args)

    {

        String fileName = "D:\\ABC\\com.***.myTest_.jar";

        if(args != null && args.length > 0){

            fileName = args[0];

        }

        File file = new File(fileName);

        if(file.exists()) {

            System.out.println(fileName + ": size = " + file.length());

        }

    }

}

 

ant中通过下面的代码能得到文件的大小,但是无法获取结果写到文件里:

<javac destdir="${build.result.folder}" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" source="${javacSource}/FileSize.java" target="${javacTarget}">

 

<jar jarfile="${basedir}/FileSize.jar" basedir="${basedir}/javaclasses"/>

 

<java classname="FileSize" classpath="${basedir}/FileSize.jar" fork="true" failonerror="true" >

<arg value="${build.result.folder}"/>

</java>

 

后来知道了ant 的内置任务length,才不使用上面的笨办法。

如下:通过一句代码,

<length file="fileName" property="fs.length.bytes" /> 直接可以得出文件的大小。

通过:https://www.orcode.com/question/43948_k2eceb.html

通过内嵌js,还能得到文件大小的kb,mb。如下:

<target name="insert-filesize">

    <length file="${afile}" property="fs.length.bytes" />

 

    <script language="javascript">

    <![CDATA[

        var length_bytes = project.getProperty("fs.length.bytes");

        var length_kbytes = Math.round((length_bytes / 1024) * Math.pow(10,2))

                          / Math.pow(10,2);

        var length_mbytes = Math.round((length_kbytes / 1024) * Math.pow(10,2))

                          / Math.pow(10,2);

        project.setNewProperty("fs.length.kb", length_kbytes);

        project.setNewProperty("fs.length.mb", length_mbytes);

    ]]>

    </script>

 

    <copy todir="${target.dir}">

        <fileset dir="${source.dir}">

            <include name="**/*" />

            <exclude name="**/*.zip" />

        </fileset>

        <filterset begintoken="$$$$" endtoken="$$$$">

            <filter token="SIZEBYTES" value="${fs.length.bytes}"/>

            <filter token="SIZEKILOBYTES" value="${fs.length.kb}"/>

            <filter token="SIZEMEGABYTES" value="${fs.length.mb}"/>

        </filterset>

    </copy>

</target>

分享到:
评论

相关推荐

    使用Ant批量多渠道打包Android

    在Android应用开发中,发布应用到不同的市场时,通常需要为每个市场创建具有特定标识(如渠道ID)的单独APK,以便跟踪不同渠道的下载数据。Ant作为Apache的一个构建工具,可以有效地帮助开发者实现这一目标。本资源...

    安卓自动打包ant

    Apache Ant是一种基于Java的构建工具,它允许开发者通过XML配置文件定义任务来编译、测试和打包应用程序。下面我们将深入探讨这个主题。 首先,我们来看`build.xml`文件,它是Ant的构建脚本,定义了构建过程中的...

    ant代码打包,补丁包抽取工具,javaweb

    "ant打包工具说明.txt"可能包含了关于如何配置和运行Ant打包脚本的详细步骤。通常,一个Ant构建文件(build.xml)会定义一系列目标(targets),每个目标是一组任务的集合。例如,你可以有一个"compile"目标用于编译...

    ant的build配置文件

    通过这种方式,Ant的build配置文件能够灵活地管理项目构建流程,无论项目大小如何,都能提供一致且可靠的构建体验。开发者可以根据需要添加更复杂的目标和任务,如自动测试、依赖管理、部署等,实现自动化构建过程。...

    apache-ant-1.7.0.rar安装文件

    这个"apache-ant-1.7.0.rar"是Apache Ant 1.7.0版本的安装文件,大小刚好小于10MB,适合在各种环境中快速下载和安装。 Ant 的核心概念是构建文件(build.xml),这是一个XML文档,包含了项目构建的所有步骤和指令。...

    flash 嵌入字自动打包工具

    1. CreatFontAS.jar:这可能是一个Java Archive (JAR) 文件,包含了工具的可执行代码,由Ant脚本调用以执行字体嵌入和打包的任务。 2. 文档.txt:这是可能包含工具使用说明和步骤的文本文件,用户应详细阅读以了解...

    ant工具的使用

    Ant工具是一种基于Java的构建工具,它主要用于自动化Java项目的构建、编译、打包和测试等流程。Ant的设计理念是提供一种跨平台的解决方案,避免传统Unix Makefile或类似工具的局限性,比如对特定操作系统或shell命令...

    ant1.9包下载

    使用Ant时,通常需要将其添加到系统的PATH环境变量中,以便在命令行中直接调用。然后,开发者可以根据项目的具体需求编写build.xml文件,配置构建过程。通过执行`ant [target]`命令,即可启动构建,其中[target]是想...

    Ant入门-ant入门pdf

    Ant的核心概念是基于任务(task)的,这些任务可以是编译源代码、打包、测试、部署等任何构建过程中的步骤。在《Ant入门》这本书中,读者会了解到如何设置Ant环境,包括下载和安装Ant,以及配置环境变量。 书中的内容...

    ant-bootstrap.jar.zip

    在Java开发中,jar文件不仅用于运行时,也用于打包和分发应用程序或库。它们可以包含类、资源、元数据,甚至可以设置嵌入式的manifest文件,定义类路径和应用入口点。 从提供的文件名列表来看,有两个主要文件: 1....

    Android自动打包、签名、优化、上传ANT脚本

    - 执行构建任务时,ANT 会按照 build.xml 中的定义顺序执行任务,包括编译源代码、打包、签名等步骤。 **3. 上传** - 构建完成后,将生成的已签名 APK 文件上传至应用商店或分发平台。 #### 五、总结 通过使用...

    用yuicompressor和Ant压缩Ext的CSS文件

    yuicompressor是一款由Yahoo开发的JavaScript和CSS压缩工具,它能够删除代码中的空格、注释以及简化CSS选择器,从而减小文件大小,提高网页加载速度。而Ant是Apache组织开发的一款Java构建工具,它通过XML配置文件来...

    Java打包工具类(包含ant.jar和java类)

    Java打包工具类主要涉及到的是对文件进行压缩和解压缩的操作,这是在开发过程中非常常见的一种需求,尤其是在构建可部署的应用程序或传输大量数据时。在这个场景中,我们使用的工具有两个核心部分:`ant.jar` 和 `...

    sfntly原装未ant版本

    完成这些步骤后,开发者可以使用Ant的build.xml文件来执行编译、测试和打包等任务。 在sfntly-master这个压缩包文件中,我们预计会找到以下内容: 1. **源代码**:包括sfntly库的Java源文件,这些文件通常位于src/...

    YUI Comprocess+ant成功压缩css文件的例子

    YUI Compressor是一款由雅虎开发的JavaScript和CSS压缩工具,它能有效地压缩和优化代码,减少文件大小,从而提升网站性能。在这个例子中,我们将探讨如何结合YUI Compressor 2.4.7和Apache Ant 1.8.2来自动化CSS文件...

    apache-ant-1.9.4

    `lib`目录包含Ant运行时需要的JAR文件,比如核心库、JUnit测试框架的支持库以及其他相关依赖。这些库使得Ant能够处理类路径设置,执行编译、测试、打包、部署等任务。 在构建过程中,Ant使用任务(Tasks)来执行...

    ant-launcher-1.6.2.jar.zip

    "jar.zip"表明这个文件本身是一个JAR(Java ARchive)文件,被进一步压缩为ZIP格式,通常用于减小文件大小便于传输或存储。 描述中提到了几个关键词:"ant"、"launcher"、"1.6.2"、"jar.zip"以及"依赖包"。"ant"指...

    apache-ant-1.9.5

    3. **生成APK**: 使用Android SDK的工具,Ant将编译后的代码打包成APK文件,这是Android设备上运行的应用程序格式。 4. **签名和优化APK**: 在发布阶段,Ant可以处理APK的签名过程,确保应用的安全性和可分发性。...

    apache-ant-1.10.1-bin.tar.gz

    这种格式在Linux和Unix环境中常见,它首先使用tar工具将多个文件和目录打包成一个单一的归档文件,然后使用gzip压缩以减小文件大小。 Apache Ant的核心概念是构建文件(build.xml),这是一个XML文档,包含了构建...

    ant-1.6.5-osgi.jar.zip

    - "jar.zip"通常意味着这个JAR文件被进一步压缩为ZIP格式,可能是为了减小文件大小,便于下载和传输。 4. **依赖包**: - Ant作为构建工具,通常依赖于其他库来完成特定任务,例如编译Java代码、复制文件等。 - ...

Global site tag (gtag.js) - Google Analytics