Sample code for 30+ languages & platforms
Dart

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // First build a string that has a preprocessor include
  final sbSrc = CkStringBuilder();
  sbSrc.append('1\r\n2\r\n3\r\n');
  sbSrc.append('#include <qa_data/txt/helloWorld.txt>\r\n');
  sbSrc.append('4\r\n5\r\n');

  print(sbSrc.getAsString());

  // sbSrc contains:
  // 	1
  // 	2
  // 	3
  // 	#include <qa_data/txt/helloWorld.txt>
  // 	4
  // 	5

  // The qa_data/txt/helloWorld.txt file contains "Hello World!"

  final String filePath;
  try {
    filePath = sbSrc.getAfterBetween('#include', '<', '>');
  } on ChilkatException {
    print('No #include\'s found.');
    return;
  }

  print('filePath: $filePath');

  // Load the contents of the filePath
  final sbIncludeFile = CkStringBuilder();
  sbIncludeFile.loadFile(filePath, 'utf-8');

  // Replace the first occurrence of #include <...> line with the contents of the include file.
  sbSrc.replaceAllBetween('#include', '>', sbIncludeFile.getAsString(), true);

  print(sbSrc.getAsString());

  // sbSrce now contains:
  // 	1
  // 	2
  // 	3
  // 	Hello World!
  // 	4
  // 	5
}