2013-06-24 3 views
0

J'utilise ceci pour écrire un gros fichier:OutputStreamWriter écriture de gros fichiers

output = new OutputStreamWriter(new FileOutputStream(fileName), o.charset); 

Mais il est d'écrire que 8192 octets. Comment définir cette limite?

+1

Comment utilisez-vous le flux de sortie? Rincez-vous le courant après avoir écrit? – BackSlash

+0

Utilisation de la compression Javascript de YUI Compressor. Je ne roule pas après avoir écrit. J'ai essayé BufferedWriter mais YUI Compressor veut Writer. –

+0

@ user2091423 'BufferedWriter' est aussi un' Writer' –

Répondre

0

Vous devez fermer le graveur lorsque vous avez fini d'écrire.

OutputStreamWriter possède un tampon interne de 8 ko qui rend la conversion des données de caractères en octets plus efficace. Lorsque le tampon se remplit, il est automatiquement vidé dans le flux de sortie de la sous-couche. Le tampon est également vidé lorsque vous fermez le flux. Si vous ne videz pas ou ne fermez pas le flux, les données restent dans la mémoire tampon et ne sont jamais écrites sur le disque.

En général, vous devez toujours fermer tous les flux, lecteurs et graveurs d'entrée et de sortie que vous ouvrez.