Schnellste Weg zum Lesen, eine große XML-Datei in Java

Arbeite ich an einem java-Projekt zur Optimierung von vorhandenen code. Derzeit bin ich mit BufferedReader/FileInputStream zum Lesen von Inhalten aus einer XML-Datei als String in Java.

Aber meine Frage ist , gibt es eine schnellere Möglichkeit zum Lesen von XML-Inhalten.Sind SAX/DOM schneller als BufferedReader/FileInputStream?

Brauche Hilfe bei dem oben genannten Problem.

Vielen Dank im Voraus.

  • Nicht sicher, was genau du meinst... das Lesen der Datei mit BufferedReader/FileInputStream erhalten Sie die bytes, aber nicht als XML-Dokument... SAX/DOM analysiert werden sowohl die Datei Lesen, und dann analysieren die XML-Daten in eine weitere nützliche Struktur. Generell SAX-Parser schneller sind als DOM Parser.
  • Ist dieser Teil der Anwendung ist als ein Engpass nach betonte die app und mit einem profiler? Wenn ja, dann statt Lesen der XML-Datei als String und dann analysieren es, ich denke, es wäre besser, verwenden Sie einen SAX-parser, da es schneller als DOM.
  • Ich meine, mit BufferedReader b = new BufferedReader( new InputStreamReader(new FileInputStream(filename), Charset.forName("UTF-8"))) .wobei filename XML-Datei, und b hat die gesamte xml-Datei Daten.Jetzt habe ich die Daten analysieren Zeile für Zeile, und extrahieren Sie spezifische Felder und drucken Sie es.
  • Ich bin auf der Suche für den schnellsten Weg zum Parsen eines xml-Dokuments und sollte schneller sein als die Verwendung von BufferedReader. Bitte helfen Sie in dieser Hinsicht
  • Nichts wird schneller sein als das Lesen der raw-stream, es sei denn, natürlich Ihre Analyse-code langsam ist, und man nicht posten, dass der code, so wie könnten wir das sagen? --- Nun, das Lesen und Parsen von XML selbst ist ..... fraglich. Funktioniert dein code mit all den Macken, richtig? Besser verwenden Sie einen integrierten parser, z.B. SAX oder StAX, aber nicht im DOM, da Sie die würde der Arbeitsspeicher auf großen XML-Dateien.
  • Es gibt keinen Punkt beim parsing eines XML-Dokuments, es sei denn, Sie tun etwas mit den Daten, und in vielen Anwendungen, die "etwas zu tun" ist der Engpass. Aber bevor Sie etwas tun können, mit den Daten, die Sie benötigen zum Lesen der Datei auf der Festplatte und analysiert. Analyse es ist eine größere Aufgabe, als es zu Lesen von der Festplatte, also warum sind Sie so konzentriert auf die Aufgabe, es zu Lesen?

InformationsquelleAutor Mohana | 2015-08-28
Schreibe einen Kommentar