Java
Java
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
// First build a string that has a preprocessor include
CkStringBuilder sbSrc = new 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");
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 = sbSrc.getAfterBetween("#include","<",">");
if (sbSrc.get_LastMethodSuccess() != true) {
System.out.println("No #include's found.");
return;
}
System.out.println("filePath: " + filePath);
// Load the contents of the filePath
CkStringBuilder sbIncludeFile = new 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);
System.out.println(sbSrc.getAsString());
// sbSrce now contains:
// 1
// 2
// 3
// Hello World!
// 4
// 5
}
}