Salve a tutti,
dovrei leggere dei file di testo compressi con estensione .gz ma non so esattamente come fare...finora infatti li avevo scompattati e avevo creato una classe di lettura che estraesse i dati dentro il file nella maniera a me più congeniale. Tuttavia ho constatato che i file sono moltissimi e ognuno è zippato(se fosse stata solo la cartella nn credo sarebbe stato un grosso problema) e quando lo decomprimo aumenta molto le sue dimensioni. La cosa migliore da fare sarebbe decomprimerlo, leggerlo e restiturimi i risultati, senza che però il file decompresso rimanga nell'hard disk, ossia che rimanga .gz. In rete avevo trovato un'istruzione del tipo:
che vorrei usare per modificare il seguente pezzo del mio programma:codice:DataInputStream dis = new DataInputStream(new GZIPInputStream(new FileInputStream("prv.Gz")));
dove quest'ultima istruzione richiama la seguente classe di lettura, di cui riporto le parti principali:codice:File file = new File(filename.toString()); ReadNextGenFile results = new ReadNextGenFile(file);
Avevo provato a scrivere qualcosa del tipo:codice://costruttore public ReadNextGenFile(String stringFile) { try { Scanner sc = new Scanner(new File(stringFile)); ... } catch (Exception e) { e.printStackTrace(); } } public ReadNextGenFile(File file) { this(file.getAbsolutePath()); }
Non appena faccio questo eclipse mi segnala di modificare i parametri del costruttore della classe ReadNextGenFile , passando da string a datainputstream, ma così facendo nn funziona più nulla perchè il metodo che ho scritto dopo il costruttore andrebbe modificato, ma nn ho idea di come operare (nn ho dimestichezza con la lettura da file)...codice:DataInputStream file = new DataInputStream(new GZIPInputStream(new FileInputStream(filename.toString()))); ReadNextGenFile results = new ReadNextGenFile(file);
Spero che il problema sia chiaro, vi ringrazio anticipatamente per le eventuali risposte.

Rispondi quotando
