I want to write a java client based on Solrj which pulls the entire core data to a file from a remote Solr server
I wrote an open source project that does exactly what you want try to do.
https://github.com/freedev/solr-import-export-json