this:
StringArray lines;
lines.addLines (content);
while (lines[0].trim().isEmpty())
lines.remove (0);
should read:
StringArray lines;
lines.addLines (content);
while (lines.size() > 0 && lines[0].trim().isEmpty())
lines.remove (0);
as this could be safe for everyone (not likely you will have a zero sized file, but if you are amalgamating external code like libpng or the like, where empty files could be present…)