L'informatico di Schrödinger

cat
4Apr/11Off

Parsare File di grandi dimensioni in Java

Non è la prima volta che mi capita di dover parsare un file di oltre 800MB (leggasi l'archivio in xml di dblp).

L'unico problema che puntualmente tutte le volte si ripresenta (dovuto, ovviamente alla mia dimenticanza..) è descritto dal seguente, ed eloquentissimo, messaggio di errore:

**Parsing Fatal Error**

Message: The parser has encountered more than "64,000" entity expansions in this document; this is the limit imposed by the application.

La soluzione per ovviare all'inconveniente è impostare la proprietà DentityExpansionLimit della  JVM ad un valore più elevato della soglia base. Nello specifico:

 

1
java -DentityExpansionLimit=valore_desiderato mio_programma

Sono accorgimenti banali ma segnarseli fa sempre comodo..

Il limite imposto (introdotto a partire in Java SE 5) è dovuto alla prevensione di quelli che sono noti come "Entity Expansion Attacks".

Tagged as: , , , Comments Off
Comments (0) Trackbacks (0)

Sorry, the comment form is closed at this time.

Trackbacks are disabled.