Export, based on query, into INSERT text file
Have you looked into using the UTL_FILE package ?
Using that, you can write to ( and read from ) files really easily and directly from PL/SQL, with great robustness. 
You need to configure a Directory object in your database, and then you can write to it with ease.

Here's some material on the subject : http://psoug.org/reference/utl_file.html , http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_file.htm