java - 使用 ANT 从 URL 获取以特定单词开头的所有文件

标签 java url ant

我使用以下任务从 URL 获取特定文件并将其安装在我的本地 DIR 上:

<project name="MobileBanking" basedir="../">
    <target name="get">
        <get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace.log" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>
    </target>
</project>

但是,问题是我有多个以“trace”一词开头的文件,我需要将它们全部放到我的本地目录中。

我尝试过以下方法:

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>

但没有任何效果。

我应该使用什么来获取 URL 中以单词“trace”开头的所有文件?

最佳答案

我认为这对于 URL 来说是不可能的。 get 任务从任何 URL 检索文件。为了支持基于模式的 URL 输入形式,例如 basePath/trace*.html,任务应查询 URL basePath 并解析页面的内容 HTML确定此路径中的 HTML 页面列表,这是一件乏味的事情(如果可能的话,首先参见 How to get list of files/directories of an directory url in java? )。尝试获取基本 URL 的内容,解析其结果,看看是否可以获得所有 trace* 文件的列表(这可能是一个解决方案,但非常难看)。

您可以查看类似 ftp 的替代方案或scp支持使用 includeexclude 通配符模式嵌套 fileset 资源的任务。与 get 任务不同,ftp 基于 FTP 协议(protocol)工作,该协议(protocol)允许获取远程目录中的文件列表。但是,这需要 FTP 服务器或 SSH 守护程序等服务可用。

关于java - 使用 ANT 从 URL 获取以特定单词开头的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39378017/

相关文章:

java - 将列表转换为包含 10 个项目的列表列表

java - Maven cli 给出语法错误,但在 eclipse 中没问题。 java语法正确吗?真奇怪

java - Spring-boot 测试中的 EntityManagerFactory Bean

unit-testing - 如何构建要进行单元测试的系统?

ant - Ant文件中如何控制合并顺序

java - 接口(interface)的静态和最终规则

postgresql - 如何将 csv 文件从 url 复制到 Postgresql

url - 如何在grails中阻止对特定URL的访问

php - 如何找出服务器上是否安装了 SSL 证书? (使用 PHP)

java - 带有Gradle的Hibernate工具,jdbc错误