2010-02-25 9 views
2

Existe-t-il un moyen de vider le flux d'entrée en Java, peut-être avant de le fermer? En ce qui concerne invoquant itérativement les déclarations ci-dessous, en lisant plusieurs fichiers sur le disqueflushing input stream: java

InputStream fileStream = item.openStream(); 
fileStream.close; 
+4

Que ferait un vidage d'un flux d'entrée? –

+0

Pouvez-vous clarifier ce que vous voulez dire? Il est logique de vider un OutputStream, car il peut toujours y avoir quelque chose qui doit être envoyé. Mais qu'est-ce que flush un InputStream censé faire? –

+0

Souhaitez-vous réutiliser InputStream? Si c'est le cas, c'est peut-être une meilleure idée de créer un nouvel InputStream pour chaque fichier que vous souhaitez traiter. –

Répondre

11

InputStream ne peuvent pas être vidées. Pourquoi veux-tu faire cela? OutputStream peut être vidé car il implémente l'interface Flushable. Flush rend IMHO sens seulement dans les scénarios où les données sont écrites (pour forcer une écriture de données tamponnées). S'il vous plaît voir the documentation de Flushable pour toutes les classes de mise en œuvre.