Darioct28
18-07-2013, 23:15
Salve ragazzi, vi scrivo poichè stasera mi sono cimentato a scrivere un piccolo programmino in c# che mi serve per elaborare un CSV per aggiungere un informazione nelle righe che presentano una determinata caratteristica. Il codice è formato da pochissime righe:
- lettura file origine riga per riga
- ogni riga letta viene analizzata e se presenta la caratteristica viene effettuata la modifica
- la riga appena esaminata viene scritta su un nuovo file
e tutto si ripete finchè ci sono righe da leggere (finchè non finisce lo streamreader in pratica)
il file è composto da circa 2100 righe per una dimensione totale di 6,5MB. Il problema è che il file generato con le righe modificate invece pesa 5,6GB. Quasi 1000volte più grosso :eek:
Mi chiedo come sia possibile che semplicemente elaborando qualche stringa il file diventi così grosso (rendendone anche impossibile l'uso dello stesso)
EDIT:
Ok tutto risolto, mi sono accorto che non azzeravo una variabile che conteneva la riga modificata e quindi ogni nuova riga era composta dalle precedenti più quella appena fatta, quindi si veniva a creare una specie di struttura a piramide, per cui la prima riga conteneva una sola stringa, la seconda conteneva 2 stringhe e così via la 2100 conteneva 2100 stringhe!
Si può chiuedere ;)
- lettura file origine riga per riga
- ogni riga letta viene analizzata e se presenta la caratteristica viene effettuata la modifica
- la riga appena esaminata viene scritta su un nuovo file
e tutto si ripete finchè ci sono righe da leggere (finchè non finisce lo streamreader in pratica)
il file è composto da circa 2100 righe per una dimensione totale di 6,5MB. Il problema è che il file generato con le righe modificate invece pesa 5,6GB. Quasi 1000volte più grosso :eek:
Mi chiedo come sia possibile che semplicemente elaborando qualche stringa il file diventi così grosso (rendendone anche impossibile l'uso dello stesso)
EDIT:
Ok tutto risolto, mi sono accorto che non azzeravo una variabile che conteneva la riga modificata e quindi ogni nuova riga era composta dalle precedenti più quella appena fatta, quindi si veniva a creare una specie di struttura a piramide, per cui la prima riga conteneva una sola stringa, la seconda conteneva 2 stringhe e così via la 2100 conteneva 2100 stringhe!
Si può chiuedere ;)