Sample code for 30+ languages & platforms
Java

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        // First build a string that has a preprocessor include
        StringBuilder sbSrc = new StringBuilder();
        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");

        System.out.println(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!"

        String filePath;
        try {
            filePath = sbSrc.getAfterBetween("#include", "<", ">");
        } catch (ChilkatException e) {
            System.out.println("No #include's found.");
            return;
        }

        System.out.println("filePath: " + filePath);

        // Load the contents of the filePath
        StringBuilder sbIncludeFile = new StringBuilder();
        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);

        System.out.println(sbSrc.getAsString());

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