2016-05-30 16 views
2

Ich möchte das Entpacken der Datei mit Zipme Cn1-Bibliothek (Codenameone-Bibliothek) anwenden. Gibt es Beispiele dafür, wie es geht? Kann mir jemand den Startpunkt geben? Bis jetzt habe ich den folgenden Code ausprobiert, aber ich bin mir nicht sicher, wo ich die Datei dataName.zip im Projekt und den Ordner behalten soll, um alle Dateien nach dem Entpacken zu behalten.ZIPME-Implementierung in Codenameone

@Override 
protected void beforeMain(Form f) { 
    net.sf.zipme.ZipEntry dataZE; 
    InputStream isData = getClass().getResourceAsStream("/" + "dataName" + ".zip"); 
    StringBuffer sbData = new StringBuffer(); 
    ZipInputStream dataZIS = new ZipInputStream(isData); 
    try { 
     while ((dataZE = dataZIS.getNextEntry()) != null) { 
      //how to extract the zip file in a separate folder... 
      dataZIS.closeEntry(); 
     } 
    } catch (IOException ex) { 
     System.out.println("zip exception"); 
    } 
} 

Der obige Code gibt folgende Fehlermeldung:

cannot find symbol 
    InputStream isData = getClass().getResourceAsStream(""); 
    symbol: method getResourceAsStream(String) 

Eine weitere Sache, warum kann ich verwenden nach dem die ZIP-Datei wie im Kern Java zu bekommen

ZipInputStream zis = new ZipInputStream(new FileInputStream("C:\\abc.zip")); 
    // it gives "FileInputStream: cannot find symbol" 

Wie kann ich entpacken Sie die Zip-Datei in einem separaten Ordner?

Antwort

0

Sie sollten Display.getInstance().getResourceAsStream() verwenden.

FileInputStream wird in Codename One, das FileSystemStorage verwendet, nicht unterstützt. Die APIs FileInputStream und File nehmen viele Dinge über das zugrunde liegende Betriebssystem an, die nicht immer wahr sind.

+0

danke und wie kann ich die zip in einen ordner extrahieren? Gibt es zB in cn1 dafür? Ich dachte, dass fileOutputStream es tun wird, aber es wird auch nicht als fileInputStream unterstützt. FileOutputStream fout = neuer FileOutputStream (dataZE.getName()); für (int c = dataZIS.read(); c! = -1; c = dataZIS.read()) { fout.write (c); } dataZIS.closeEntry(); fout.close(); –

+0

Sie müssen FileSystemStorage verwenden, das Ordner unterstützt. Im Moment gibt es kein Beispiel, da der Zip-Support brandneu ist. –

+0

Wie extrahiert man die Zip-Datei? Kannst du mir zuerst etwas geben? Danke –

Verwandte Themen