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

sh7euo9m  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(207)

我尝试在我的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')

但没有成功。
你能告诉我另一种方法,我可以用来指出我想复制的自定义文件吗?
谨致问候!
克里斯蒂扬

wnavrhmk

wnavrhmk1#

如果只需要一个文件

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 }
    }
}
5kgi1eie

5kgi1eie2#

import org.apache.commons.io.FileUtils

FileUtils.copyFile(new File('/path/to/file1'), new File('/path/to/file2'))
FileUtils.copyDirectory(new File('/path/to/dir1'), new File('/path/to/dir2'))

此Java包的文档:
https://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html

相关问题