createOutputFile method
Create an output file with a unique name if needed
Implementation
Future<File> createOutputFile(String filename) async {
final outputDir = await createOutputDirectory();
var outputFile = File(path.join(outputDir.path, filename));
// If file exists, create a unique name
if (outputFile.existsSync()) {
final baseName = path.basenameWithoutExtension(filename);
final extension = path.extension(filename);
var counter = 1;
do {
final newFilename = '${baseName}_$counter$extension';
outputFile = File(path.join(outputDir.path, newFilename));
counter++;
} while (outputFile.existsSync());
}
return outputFile;
}