使用自定义名称通过Groovy脚本复制文件或文件夹

时间:2018-06-07 13:02:26

标签: groovy soapui

我试图在我的SoapUI项目中实现一个groovy脚本,它将在执行请求后复制某些文件。我检查了其他主题,并设法使用其中一个脚本:

class FileExample {
   static void main(String[] args) {
      def src = new File('C:/Users/USERNAME/Desktop/Results/Test_Result.xml')
      def dst = new File('C:/Users/USERNAME/Desktop/Groovy Scripts/Copied File/Test_Result.xml')
      dst << src.bytes
   }
} 

我面临的问题是生成的文件是使用不是常量的特定名称生成的,我不能给出需要复制的文件的常量名称。

我尝试了几种方法来定义此搜索,但都没有成功。我尝试过:

def src = new File('C:/Users/USERNAME/Desktop/Results/', '**.zipx')

但它没有用。

你能告诉我另一种方法,我可以用来指出我要复制的自定义文件吗?

亲切的问候,

Kristiyan

1 个答案:

答案 0 :(得分:1)

如果您只需要一个文件

def src = new File('C:/Users/USERNAME/Desktop/Results').listFiles().find{it.name.endsWith('.zipx')}

您可以使用eachFiletraverseother methods

来遍历文件
new File('C:/Users/USERNAME/Desktop/Results').eachFile{src->
    if(src.name.endsWith('.zipx')){
        def dst = new File('.../Copied File/', src.name)
        src.withInputStream{stream-> dst << stream }
    }
}