如何创建新文件,文件名增量

x33g5p2x  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(471)

我已经编写了代码来生成随机id并存储到文件中。然后发送包含存储id的数据。然后我将其设置为循环3次。数据已成功发送3次,但只有一个文件且仅包含最后一个id。我想要3个文件,分别是1,2,3。

for (int i = 1; i <= 3; i++) {
//test data using dynamic Id at order Id
String RandomOrderId = CustomKeywords.'test.RandomStringUUID.getUuid'()
println(RandomOrderId)

//store the OrderId to file
def OrderId = new File(RunConfiguration.getProjectDir() + "/Data Files/OrderId.txt")
OrderId .newWriter().withWriter { it << RandomOrderId }
println OrderId.text

def exceldata = CustomKeywords.'test.excelfile.ReadExcelData'('Data Files/1.xlsx', 'testdata', 'Test case1', 'Json Data 1')
exceldata = exceldata.replace("<OrderId>", OrderId.text)

Order.Message('message',exceldata)

}
py49o6xq

py49o6xq1#

问题是 File.newWriter() 覆盖文件的内容。
替换此行:

OrderId.newWriter().withWriter { it << RandomOrderId }

使用以下方法:

OrderId.newWriter(true).withWriter { it << RandomOrderId << '\n' }

或与:

OrderId.withWriterAppend{ it << RandomOrderId << '\n' }

或与:

OrderId.append( RandomOrderId + '\n' )

请在此处阅读有关文件方法的详细信息:http://docs.groovy-lang.org/latest/html/groovy-jdk/java/io/file.html

相关问题