Java - InputStream Zurücksetzen

Bin ich den Umgang mit einigen Java-code, in dem es einen InputStream, die lese ich einmal und dann muss ich Lesen das es mal wieder in der gleichen Methode.

Das problem ist, dass ich brauche, um es zurückzusetzen ist-position an den Anfang, Lesen Sie es zweimal.

Habe ich gefunden, der einen hack-ish Lösung für das problem:

is.mark(Integer.MAX_VALUE);

//Read the InputStream is fully
//{ ... }

try
{
    is.reset();
}
catch (IOException e)
{
    e.printStackTrace();
}

Führt diese Lösung dazu führen, dass einige unespected zu Verhalten? Oder es wird Arbeit in seiner Unbedarftheit?

  • Könnte es scheitern in Situationen, die das Lesen von code wird mark() es auch.
  • Sie können in der Lage sein zu erweitern InputStream, überschreiben Sie die markieren-Methode so, dass Sie nur einmal aufgerufen werden, die in einer Instanz.
InformationsquelleAutor iMineLink | 2013-09-13
Schreibe einen Kommentar