FileInputStream entpacken und Zeile für Zeile entpacken

ballibum

Aktives Mitglied
Hallo Forum,
ich habe eine URL die mir ein ZIP-Archiv zurückgibt. Dieses ZIP-Archiv entpacke ich, nun möchte ich eine Textdatei an eine Funktion übergeben und Zeile für Zeile ausgeben. Bis zum Entpacken komme ich und auch die entsprechende Datei bekomme ich, aber der nächste Schritt macht mir gerade Probleme.
Hier einmal mein Code:
Java:
//ZipInputStream zis = null;
        URL url = new URL(exampleURL);
        URLConnection conn = url.openConnection();
        InputStream inputStream = conn.getInputStream();
        ZipInputStream zis = new ZipInputStream(inputStream);
        ZipEntry ze;

        while ((ze = zis.getNextEntry()) != null)
        {
            if("meinbeispiel.txt".equals(ze.getName())) // es ist immer eine Txt Datei
            {
      
                System.out.println(ze.getName());
                System.out.println(ze.getSize());
                readFile(ze);
            }
        }
    }
    private void readFile(ZipEntry entry)
    {
       //Zeile für Zeile ausgeben
    }

Vielen Dank für eure Hilfe. Mir gelingt einfach nicht der Spagat von ZipEntry zum FileInput
besten Dank
Ballibum



Vielleicht noch eine Anmerkung, damit ihr nicht denkt ich hätte nicht bereits einiges probiert, mit Versuchen wie:
BufferedReader bufferedReader = new BufferedReader(new FileReader(entry));

bin ich kläglich gescheitert.
 
Heho, nach einigem Hin und Herprobieren hier meine Lösung:
Code:
System.out.println("Im Txt Parser");
        String zipURL = "ftp://mein-example.de/tolles.zip";
      
        URL url = new URL(zipURL);
        ZipInputStream inputStream = new ZipInputStream(url.openStream());
        while (inputStream.available() == 1)
        {
            ZipEntry ze = inputStream.getNextEntry();
            if("beispiel.txt".equals(ze.getName()))
            {  
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                String line;
                while ((line = bufferedReader.readLine()) != null)
                {
                    System.out.println(line);
                }
            }
        }
 

Zurück
Oben