2016-07-16 4 views
0

Ich habe eine Datei, die ich zu einem Dienst hochladen und in relevante Daten analysieren muss. Der Parser und der Uploader benötigen beide einen InputStream. Soll ich die Datei zweimal öffnen? Ich könnte die Datei in einem String speichern, aber viele dieser Dateien im Speicher sind betroffen.15MB Dateien hochladen und analysieren, Dateien zweimal öffnen?

EDIT: Dachte ich sollte klarstellen, dass das Parsen und Hochladen völlig separate Prozesse sind.

+0

Wenn sie separate Prozesse sind, welche Wahl haben Sie? Unklar, was du verlangst. – EJP

+0

Ich versuche eine Entscheidung darüber zu treffen, wie man am effizientesten mit so etwas umgehen kann. – Hunter

+1

Was meinen Sie mit "separate Prozesse". Ist das alles in einem Programm oder sind zwei völlig unterschiedliche Programme beteiligt? –

Antwort

0

Da Sie es bereits analysieren, wäre es am effizientesten, die Datei in eine Zeichenfolge zu laden. Parsen Sie es in Indizes für die Zeichenfolge, Sie sparen Speicher und können die Zeichenfolge einfach hochladen, wann immer Sie möchten. Dies wäre der effektivste Weg, mit Speicher, aber vielleicht nicht Verarbeitungszeit.

Eine Antwort auf einen der obigen Kommentare.
Getrennte Prozesse bedeuten nicht unterschiedliche Threads oder Prozesse, sie brauchen sich nicht gegenseitig zu bedienen.