public boolean hasHeader(Header header, boolean strictCheck) {
if (!strictCheck) {
try {
String fileHeader = readFirstLines(file, header.getLineCount() + 10, encoding);
String fileHeaderOneLine = remove(fileHeader, headerDefinition.getFirstLine().trim(), headerDefinition.getEndLine().trim(), headerDefinition.getBeforeEachLine().trim(), "\n", "\r", "\t", " ");
String headerOnOnelIne = mergeProperties(header.asOneLineString());
return fileHeaderOneLine.contains(remove(headerOnOnelIne, headerDefinition.getFirstLine().trim(), headerDefinition.getEndLine().trim(), headerDefinition.getBeforeEachLine().trim()));
} catch (IOException e) {
throw new IllegalStateException("Cannot read file " + getFilePath() + ". Cause: " + e.getMessage(), e);
}
}
try {
return header.isMatchForText(this, headerDefinition, true, encoding);
} catch (IOException e) {
throw new IllegalStateException("Cannot read file " + getFilePath() + ". Cause: " + e.getMessage(), e);
}
}