Eseguire streaming di più files

venerdì 06 maggio 2005 - 12.28

Dagoth Vemyn Profilo | Newbie

ho necessità di unire più files di testo in modo da fornire al mio applicativo un unico stream comprendente tutti quanti . Al momento esso infatti funziona inserendo nello streamreader un file alla volta, ma la cosa non mi soddisfa. è possibile ottenere un risultato del genere?

l'importante sarebbe cmq il risultato, quindi non mi interessa molto usare un programmello che unisce files di testo in uno unico da passare allo streamer oppure una qualche funzionalità di visual studio che mi permette di passare i files uno dopo l'altro nelllo stream (anche se ovviamente questa soluzione sarebbe preferibile)..

potete aiutarmi?

Grazie!!!!!!!!!!

Dagoth Vemyn Profilo | Newbie

potrebbe esser euna buona idea, ma i files in questione sono troppo grossi per un memorystream...facile che 6 o 7 files occupino anche 400 mb di ram, diventerebbe un problema :P

grazie cmq!

altre idee? :) :)

Dagoth Vemyn Profilo | Newbie

sono file da 30 mb l'uno, ho visto già che usando un memorystream ognuno va a occupare circa 50-60 mb in ram....per quanto rigurda lo streaming dovrei cmq provare, se poi le prestazioni fossero indecenti lascerò perdere! :)
sto scartabellando nelle librerie di .NET ma non trovo nulla, solo la possibilità di aprire un file alla volta. anche se cmq mi basterebbe un qualcosa di esterno in grado di attaccare più file di testo per ottenerne uno solo...:P poi vedo come va

martinmystero Profilo | Newbie

ciao,
allora se il tuo problema è 'SOLO' avere un singolo file generato, puoi tranquillamente usare in modalità DOS (ve lo ricordate il buon vecchio DOS :-) ... ) copy file1.ext+file2.ext FileFinale.txt


Dagoth Vemyn Profilo | Newbie

beh, certo che lo potrei fare così manualmente, ma io vorrei che fosse il mio programma a pensarci...:) gli utilizzatori non sono esperti, masolo tecnici di diagnostica, devo rendere loro questa cosa totalmente trasparente :P

totti240282 Profilo | Guru

appunto con un process.start(vecchio shell) puoi lanciare da programma un comando Dos

Dagoth Vemyn Profilo | Newbie

ottimo, grazie!

e invece non è proprio possibile unire due o più stream dopo averli creati da file diversi?

martinmystero Profilo | Newbie

Ciao,
certo che ci sono alternative anche valide che richiedono qlc riga di codice. Puoi iniziare a cercare dall' help di VB.NET ->Metodo File.AppenText 'crea un StreamWriter che aggiunge testo con codifica UTF-8 a un file esistente' oppure ,puoi provare un'altra strada, mettendo qlc limite sul quantitativo di MB di dati da concatenare, ed usare la classe StringBuilder dove aggiungi tutto quello che leggi dai file e poi salvi in un solo colpo. Ho già usato la classe StringBuilder con carichi anche di 100 MB senza problemi. Ti posso assicurare che hai tantissime opzioni anche ibride per risolvere la cosa.

Dagoth Vemyn Profilo | Newbie

temo dovrò fare così...in effetti ricostruire un unico file non è difficile, io speravo di poterlo evitare e unire direttamente più stream...ma alla fine non si può avere tutto! :P

alcuni dei file in questione sono zippati...conoscete qualche utility comoda per unzippare files controllabile da codice c#? :)

grazie a tutti!:)

totti240282 Profilo | Guru

be puoi usare i comandi "da riga di comando" del winzip,sennò esiste una classe apposita,cerca sul web SharpZipLib

Dagoth Vemyn Profilo | Newbie

perfetto, cercavo appunto una classe apposita! grassie....ho implementato cmq molto facilmente quanto deciso e funge bene..è un pò un peccato perchè speravo di non dover creare un unico file ma allafine è certamente la cosa più pratica...

Grazie!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5