"LIST DATABASE DIRECTORY" lists, well, databases, not tables. Besides, it is not an SQL statement but rather a CLP command, so you cannot execute it via JDBC.
The best way to obtain the list of tables is by using a java.sql.DatabaseMetaData.getColumns() call. If you must query the database, the information you are looking for is in the SYSCAT.TABLES table.