Quote Originariamente inviata da andbin Visualizza il messaggio
No assolutamente, il PDF è un file "binario", quindi non devi leggere "caratteri" o "linee". Usa FileOutputStream e leggi/scrivi a blocchi di byte sfruttando un byte[] di "buffer" di dimensione scelta da te (es. 1024).
Rivedendo meglio la libreria che uso : javax.activation, potrei fare così :

DataHandler handler =pdfDocument.value;
DataSource dataSource = handler.getDataSource();
File f = new File(dataSource.getName());
FileOutputStream w =new FileOutputStream (f);
handler.writeTo(w);

dove il metodo writeTo retrieves the InputStream and copies the bytes from the InputStream to the OutputStream passed in.