Ja tiez pouzivam komercnu kniznicu IPWorks, tiez kvoli
sifrovaniu a WinZipu. Problem je v tom, ze u zakaznika
na predvadzacom serveri je JDK 1.4 a na ostrom JDK 1.5
a IPWorks funguje spravne len s JDK 1.5.
Preto na predvadzacom serveri pouzivam java.util.zip
(a sifrovanie tam proste nefunguje) a na ostrom
serveri pouzivam IPWorks.
Mohli by ste mi prosim poslat nejaky priklad ako
kodujete nazvy suborov v IPWorks? Na stranke /n
software som v tomto ohlade nic nenasla a zo supportu
sa mi este neozvali. Ja nastastie potrebujem zipovat
len na nemeckych Windowsoch. Jedine co asi budem
musiet zistovat je, ci sa pouziva OEM 850 alebo 858.

Dakujem. S pozdravom
Radovana Straube

P.S. Pripajam aj kod ako pouzivam IPWorks

/**
     * Compress a directory, encrypt the zip file
     * @param _sSourceDir a source directory
     * @return path to compressed and ecnrypted
archive
     */
    private String compressAndEncryptDir(String
_sSourceDir, String _sPassword) throws IOException {
        String sZipArchive = extractArchiveName(_sSourceDir);
        
        try {
            if (s_oLogger.isDebugEnabled()) {
                s_oLogger.debug("compressAndEncryptDir->sZipArchive:
" + sZipArchive + ", dir: " + _sSourceDir);
            }
            
            Zip oZip = new Zip();
            oZip.setArchiveFile(sZipArchive);
            oZip.setRecurseSubdirectories(true); //demo
recurses into subdirectories
            oZip.includeFiles(_sSourceDir + "*");
            oZip.setPassword(_sPassword);
            if (s_oLogger.isDebugEnabled()) {
                s_oLogger.debug("compressAndEncryptDir->password: "
+ oZip.getPassword());
            }
            oZip.compress();
        } catch(IPWorksZipException oExIP){
            s_oLogger.error(oExIP.getMessage(), oExIP);
            throw new IOException("IPWorksZIP exception
thrown: " + oExIP.getCode() + " [" +
oExIP.getMessage() + "].");
        }
        
        return sZipArchive;
    }

--- Peter Stibrany <[EMAIL PROTECTED]> wrote:

> Len dodam... napokon sme v nasom produkte pouzili
> komercnu IP Works
> Zip kniznicu, lebo umoznovala sifrovat subormi tak,
> aby to WinZip
> vedel precitat. Nazvy suborov kodujeme podla toho,
> komu ich posielame.
> Ak idu na Mac, subory su v UTF-8, ak idu na Windows,
> tak zistujeme
> jazykovu verziu a podla toho urcime OEM kodovanie.
> To potom pouzijeme.
> Vacsinou to funguje, ale nie je to dokonale.
> 
> S pozdravom,
> -Peter Stibrany
> 
> On 6/25/07, Peter Stibrany <[EMAIL PROTECTED]>
> wrote:
> > Dobry den,
> >
> > tento problem som riesil a vysledky su nasledovne:
> >
> > 1) java.util.zip pouziva InfoZip format, ktory
> koduje mena suborov v
> > UTF-8. Toto sa neda zmenit (iba ak sposobom, ktory
> naznacil kolega
> > nizsie). (Nanestasie ZIP formatov je viac a v
> detailoch typu kodovanie
> > mien suborov ci sifrovani sa lisia).
> >
> > 2) existuje TrueZip kniznica, ktora vam umozni
> nastavit si kodovanie
> > mien suborov. (https://truezip.dev.java.net/)
> >
> > 3) Mac systemy ocakavaju mena suborov v ZIP-e
> kodovane v UTF-8
> >
> > 4) Windows ocakava mena suborov kodovane v OEM
> CodePage podla
> > jazykovej verzie Windows. Tj. slovenske/ceske
> pouzivaju OEM 852,
> > zatial co Danske windows pouzivaju 850.
> >
> > Zopar objasnujucich odkazov:
> >
> > *
>
http://squirrelsewer.blogspot.com/2005/10/i18n-zip-file-woes.html
> > *
>
http://blogs.msdn.com/michkap/archive/2005/05/10/416181.aspx
> >
> > S pozdravom,
> > -Peter Stibrany
> >
> > On 6/25/07, jeeff <[EMAIL PROTECTED]> wrote:
> > > Ahoj,
> > >
> > > implementacia v Jave nepredpoklada, ze kodovanie
> nazvov suborov je v
> > > cp852 (co v nasom regione je), takze to
> shavaruje. Musis si spravit
> > > vlastne ZipInputStream a ZipOutputStream
> (+nejake dalsie aby to cele
> > > fungovalo) podla zdrojakov a tie upravit tak,
> aby:
> > > fileName = new String(b, 0, len, "Cp852");
> > >
> > > Radovana Straube  wrote / napĂ­sal(a):
> > > > Dobry den,
> > > >
> > > > ked zipujem subory (pouzivam standarny
> java.util.zip a
> > > > JDK 1.5), ktore maju v nazvoch diakritiku, vo
> > > > vyslednom zip-e su nazvy suborov v zlom
> kodovani.
> > > > Nic rozumneho som nevygooglila. Riesil uz
> niekto
> > > > podobny problem?
> > > >
> > > > Dakujem
> > > > Radovana Straube
> > > >
> > > > P.S. Pripajam aj metodu, ktorou pouzivam na
> zipovanie
> > > >
> > > > /**
> > > >      * Compress a directory
> > > >      * @param _sSourceDir a source directory
> > > >      * @return a path to an archive
> > > >      */
> > > >     private String compressDir(String
> _sSourceDir)
> > > > throws IOException {
> > > >
> > > >       // These are the files to include in the
> ZIP file
> > > >       String[] sFilenames = new
> File(_sSourceDir).list();
> > > >
> > > >       // Create a buffer for reading the files
> > > >       byte[] byBuf = new byte[1024];
> > > >
> > > >       // Create the ZIP file
> > > >       String sZipArchive =
> extractArchiveName(_sSourceDir);
> > > >       ZipOutputStream out = new
> ZipOutputStream(new
> > > > FileOutputStream(sZipArchive));
> > > >
> > > >       // Compress the files
> > > >       for (int i = 0; i < sFilenames.length;
> i++) {
> > > >           FileInputStream in = new
> > > > FileInputStream(_sSourceDir + sFilenames[i]);
> > > >
> > > >           // Add ZIP entry to output stream.
> > > >           out.putNextEntry(new
> ZipEntry(sFilenames[i]));
> > > >
> > > >           // Transfer bytes from the file to
> the ZIP file
> > > >           int iLen;
> > > >           while ((iLen = in.read(byBuf)) > 0)
> {
> > > >               out.write(byBuf, 0, iLen);
> > > >           }
> > > >
> > > >           // Complete the entry
> > > >           out.closeEntry();
> > > >           in.close();
> > > >       }
> > > >
> > > >       // Complete the ZIP file
> > > >       out.close();
> > > >
> > > >       return sZipArchive;
> > > >     }
> > > >
> > > >
> > > >
> > > >
>
____________________________________________________________________________________
> > > > Boardwalk for $500? In 2007? Ha! Play Monopoly
> Here and Now (it's updated for today's economy) at
> Yahoo! Games.
> > > >
>
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow
> > > >
> > >
> > >
> > > --
> > > jeeff
> > >
> > >
> >
> 




       
____________________________________________________________________________________
Sick sense of humor? Visit Yahoo! TV's 
Comedy with an Edge to see what's on, when. 
http://tv.yahoo.com/collections/222

Odpovedet emailem