У меня есть два * .hex-файла (могут обрабатываться как файлы ASCII), сгенерированные из сценария сборки конвейера Jenkinsfile groovy. После успешной сборки в рабочей области заданий находятся следующие файлы:
- a.hex
- b.hex
Мне нужно c .hex, это просто два a.hex и b.hex, склеенные вместе в одном файле.
В C это выглядит так:
static void mergeIntelHexFiles(const char* aFile, const char* bFile, const char* mergedFile)
{
FILE* readFileA = fopen(aFile, "r");
FILE* readFileB = fopen(bFile, "r");
if ( (NULL != readFileA )
&& (NULL != readFileB ))
{
FILE* writeFile = fopen(mergedFile, "w");
if (NULL != writeFile)
{
char lineBuffer[MAX_PATH_LEN];
while (NULL != fgets(lineBuffer, MAX_PATH_LEN, readFileA ))
{
if (NULL == strstr(lineBuffer, ":00000001FF"))
{ // it is not the last line of the file
fputs(lineBuffer, writeFile); // copy the line without modification
}
}
while (NULL != fgets(lineBuffer, MAX_PATH_LEN, readFileB ))
{
fputs(lineBuffer, writeFile); // copy the line without modification
}
fclose(writeFile);
}
fclose(readFileA);
fclose(readFileB);
}
}
Это копирует только каждый строка a.hex в c .hex и затем копирует каждую строку b.hex в c .hex.
Но в Jenkins Groovy я понятия не имею, как это сделать ...
Я мог найти документацию только для простых примеров, таких как this
Так что вопрос в том, как объединить два файла в один в groovy?