In genere per eseguire tramite java un comando che eseguiresti sulla console puoi usare Runtime.getRuntime().exec("...."). Però non è questo il caso.il messaggio dice che c'è un errore di sintassi 'near source c:\popola.txt' ma non ne capisco il motivo, perché lo stesso identico comando, scritto sulla console, fa il suo dovere.
Per fare quello che fa il comando source puoi creare una stringa a partire dal contenuto del file ed 'eseguirla' tramite JDBC. Con queste istruzioni
....
Statement stmt = conn.createStatement();
try {
BufferedReader in = new BufferedReader(new FileReader("c:\\createtables.txt"));
String str;
while ((str = in.readLine()) != null) {
stmt.executeUpdate(str);
}
in = new BufferedReader(new FileReader("c:\\popola.txt"));
while ((str = in.readLine()) != null) {
stmt.executeUpdate(str);
}
in.close();
} catch (IOException e) {}
...
ovviamente deve verificarsi che ogni riga dei file c:/createtables.txt e c:/popola.txt sia un comando completo per MySQL.