How to create a zip file whith passwprd ?

Hi Im trying to create a zip file using the java zip support, the zip file is being created correctly now I have one doubt I would like to know if the zip file can be protected with a password as Winzip does, if so could you tell me please how to do it.
Regards,
Antonio
[email protected]

With Core Java, for all I know you still can't.

Similar Messages

  • How do you use zip files?

    Hello all,
    I have always stayed away from ZIP files (as in doing it myself, to my own files), since my days in Windows, after all the countless corrupt ZIP files I received from others, that simply would not UNzip...
    But recently I've come across references to them again, and I realised I might be missing a trick or two....
    Any comments on the following would be appreciated:
    1.) What can I use them for?
    As in - could I ZIP my entire folder of holiday pictures - all 13GB's of them?
    Or is there some sort of size limit, where anything over, and things become problematic?
    Are some file types Zipped better than others?
    2.) How does it actually work?
    As in - what happens to my original files?
    Assume the holiday pics are Zipped - do the orginals get compressed, or can I select it so that copies are Zipped, as a kind of backup?
    3.) How safe is it?
    As in - assuming my hardware and software are all OK, nothing buggy etc. - if I create the ZIP file, pop it somewhere on a USB/External/the same laptop, and then Unzip it later, when I need them again - am I correct in assuming that the chances of the file being corrupted, are relatively slim?
    And coming back to those holiday pics - could the compression process result in a loss in picture quality/resolution, were I to then unzip the file? Or - assuming everything works as planned - will the quality of the pictures/file emerge exactly the same as they were prior to being compressed?
    I realise all of the above are ridiculously simple questions - but googling this doesn't really help, as most sites simply explain the how to, not the WHY...
    The WHY articles were probably all written 15 years ago already... I'm just very, very far behind....
    Thanks in advance!
    [Mid-2012 MBP 8GB Ram; OSX ML]

    Zipping an image file should have no effect on image quality, as the image data is not actually changed.
    Note that there's very little point in zipping a folder full of images, unless the images are not a compressed file type. You can't compress data that is already compressed - in fact, trying to do so often increases the file size - and JPEG images, for example, are already compressed.
    For the most part, you don't need to use zip at all. I absolutely DO NOT recommend storing your files and/or folders on the hard drive in compressed form as a space-saving measure. It doesn't save enough space to be worth the time needed to compress files large enough to warrant it on a modern drive. Accessing zipped files is a pain, too, since you basically have to decompress the whole thing in order to access a file inside a zip file.
    Zip becomes useful if you need to attach a large number of files to an e-mail message (zip the files, then attach the single zip file) or want to create an archive of multiple files to download from a web site through a single link. In other words, in situations where you need to transmit many files over the internet, especially where Windows users may be involved, zipping files can be either important or a convenience.

  • How to create a .DLL file from a .C file ?

    Hi everybody
    I'm looking for a method how to create a .DLL file from a .C file .That Dll file will be used to perform a board to measure voice quality accoding to the international standard named PESQ (perceptual evaluation of speech qualty) P.862.
    Can anyone help to start dealing with Dlls and give some advices to avoid errors ?
    thx
    Attachments:
    source.zip ‏37 KB

    Hi sinaps,
    You mention that you want to create a DLL from a .C file. Just to clarify, are you using C (.c file) or C++ (.cpp) to write your code?
    Also, if you are using C++, are you using Visual Studio? (The reason I ask is because this forum is geared towards Measurement Studio, which is an add on to Microsoft Visual Studio).
    That being said,
    If you are using C: National Instruments provides an ANSI C Application Development Environment called LabWindows/CVI which makes building dlls a snap. It has templates for DLLs and you can build them either as stdcall or cdecl dlls.
    Developer Zone Tutorial: Building a DLL with LabWindows/CVI 8.5 for use with LabVIEW 8.5
    If you are using Visual C++: Look at the link that Al provided earlier.
    MSDN: Walkthrough: Creating and Using a Dynamic Link Library
    If you aren't using CVI or Visual Studio, then really the best bet is to do a google search for "Create C DLL" or post or a forum for the appropriate environment that you are using.
    Thanks!
    Message Edited by Jervin_J on 03-14-2009 02:02 PM
    Jervin Justin
    NI TestStand Product Manager

  • Create a zip files in a special way

    Dear all,
    Following my yesterday's posting, I would clarify my questions:
    I successfully created a zip file which contains a folder structure and two files from strings. See attached codes.
    However, I don't like the way that I physically created subfolder and files before add them to the zip file.
    Is there any possibility to avoid that part of creating multiple folders?
    Regards.
    Pengyou
    package com.zip.test;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    public class ZipTest {
         static final int BUFFER = 2048;
         public static void main(String argv[]) {
              try {
                   BufferedInputStream origin = null;
                   FileOutputStream dest = new FileOutputStream("mytest.zip");
                   ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(
                             dest));
                   // out.setMethod(ZipOutputStream.DEFLATED);
                   byte data[] = new byte[BUFFER];
                   try {
                        String strManyDirectories = "root/dir1/dir2";
                        // Create multiple directories
                        boolean success = (new File(strManyDirectories)).mkdirs();
                        if (success) {
                             System.out.println("Directories: " + strManyDirectories
                                       + " created");
                        File outputFile = new File("root/dir1/dir2/test.html");
                        BufferedWriter bufferedWriter = new BufferedWriter(
                                  new FileWriter(outputFile));
                        bufferedWriter.write("Hello, Test");
                        bufferedWriter.close();
                        File outputFile1 = new File("root/dir1/dir2/test1.html");
                        BufferedWriter bufferedWriter1 = new BufferedWriter(
                                  new FileWriter(outputFile1));
                        bufferedWriter1.write("Hello, Test1");
                        bufferedWriter1.close();
                   } catch (IOException e) {
                   String files[] = { "root/dir1/dir2/test.html",
                             "root/dir1/dir2/test1.html" };
                   for (int i = 0; i < files.length; i++) {
                        System.out.println("Adding: " + files);
                        FileInputStream fi = new FileInputStream(files[i]);
                        origin = new BufferedInputStream(fi, BUFFER);
                        ZipEntry entry = new ZipEntry(files[i]);
                        out.putNextEntry(entry);
                        int count;
                        while ((count = origin.read(data, 0, BUFFER)) != -1) {
                             out.write(data, 0, count);
                        origin.close();
                   out.close();
              } catch (Exception e) {
                   e.printStackTrace();

    pengyou wrote:
    But I did not understand how to convert a String to ZipOutputStream with a user choosen file name and a user choosen folder structure.
    I am blocked at that point. Sorry for repeating the same question.
    That doesn't make sense to me. Even more so as your sample code suggests that you are familiar with Writer and ZipEntry concepts. Can you explain in detail where you are stuck or what part of my previous suggestion was unclear to you?
    Scratch that, I think I finally understand your problem. I think the following sample code will get you on track:import java.util.zip.ZipOutputStream;
    import java.util.zip.ZipEntry;
    import java.io.FileOutputStream;
    import java.io.BufferedWriter;
    import java.io.OutputStreamWriter;
    public class ZipTest {
        public static void main( String[] args ) throws Exception {
            final String[] content = {"bla", "blubber"};
            final String[] names = {"root/content1/c1.txt", "root/content2/c2.txt"};
            final String path = System.getProperty("user.home") + "/test.zip";
            ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(path));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(zos, "UTF-8"));
            for (int i = 0; i < content.length; ++i) {
                final ZipEntry entry = new ZipEntry(names);
    zos.putNextEntry(entry);
    bw.write(content[i]);
    bw.flush();
    zos.closeEntry();
    // this will close zos, too
    bw.close();
    Edited by: thomas.behr on Apr 22, 2009 4:10 PM

  • How to append to zip files

    I would like to know how to append to a zip file, I know how to write a zip file and I can put as many entries in the first time but if I run my program again and try to add a file to the same zip file it erases what was already in it. I use ZipOutputStream(new FileOutputStream), I have tried the FileOutputStream append but it does not seem to work for zip files, I have tried RandomAccessFile on my zip file but that just seems to add the bytes to the file that already in the zip file, and makes the file unopenable, corrupt. If you can help, please tell me how.

    You actually have to open the previous zipped file, read it's entries and their data and then rewrite a new zip file with these entries and their data. You can then delete your first file and rename the new one so the effect is that you have "appended" zip files to the existing archive.
    Here is an example which I pieced together from a larger bit of code that I have. This would need to be in a try/catch but this should give you a start.
    /** This method adds a new file to an existing zip file. It * includes all the zipped entries previously written.
    * @param file The old zip archive
    * @param filename The name of the file to be Added
    * @param data The data to go into the zipped file
    * NOTE: This method will write a new file and data to an archive, to
    * write an existing file, we must first read the data frm the file,
    * then you could call this method.
    public void addToArchive(File file, String filename, String data)
         ZipOutputStream zipOutput = null;
    ZipFile zipFile = null;
    Enumeration zippedFiles = null;
    ZipEntry currEntry = null;
    ZipEntry entry = null;
    zipFile = new ZipFile( file.getAbsolutePath() );
         //get an enumeration of all existing entries
    zippedFiles = zipFile.entries();
         //create your output zip file
    zipOutput = new ZipOutputStream( new FileOutputStream ( new File( "NEW" + file.getAbsolutePath() ) ) );
    //Get all the data out of the previously zipped files and write it to a new ZipEntry to go into a new file archive
    while (zippedFiles.hasMoreElements())
    //Retrieve entry of existing files
    currEntry = (ZipEntry)zippedFiles.nextElement();
    //Read data from existing file
    BufferedReader reader = new BufferedReader( new InputStreamReader( zipFile.getInputStream( currEntry ) ) );
    String currentLine = null;
    StringBuffer buffer = new StringBuffer();
    while( (currentLine = reader.readLine() ) != null )
    buffer.append( currentLine);
    //Commit the data
    zipOutput.putNextEntry(new ZipEntry(currEntry.getName()) ) ;
    zipOutput.write (buffer.toString().getBytes() );
    zipOutput.flush();
    zipOutput.closeEntry();
    //Close the old zip file
    zipFile.close();
    //Write the 'new' file to the archive, commit, and close
    entry = new ZipEntry( newFileEntryName );
    zipOutput.putNextEntry( entry );
    zipOutput.write( data.getBytes() );
    zipOutput.flush();
    zipOutput.closeEntry();
    zipOutput.close();
         //delete the old file and rename the new one
    File toBeDeleted = new File ( file.getAbsolutePath() );
    toBeDeleted.delete();
         File toBeRenamed = new File ( "NEW" + file.getAbsolutePath() );
    toBeRenamed.rename( file );
    Like I said I haven't tested this code as it is here but hopefully it can help. Good luck.

  • How to create a tgz file?

    Hi,
    I am wondering
    1. how to create a tgz file using java.uitl.zip API? Is that possible?
    2. what is the difference between zip and tgz?
    I have to compress a single file that is over 4 GB.
    Thanks!

    RFC 1952 (that defines the gzip format) does not mention problems with huge files (> 4GB), but it is better to see if there is any problems with your favorite compressor (gzip and gunzip, or other file-compressing utility that implements RFC 1952).
    Gzip files have a field called ISIZE:
    ISIZE (Input SIZE)
    This contains the size of the original (uncompressed) input
    data modulo 2^32.
    Some compressors and decompressors think that ISIZE is the original size, not the 4 least significant bytes of original size, so they could have problems with such large files.

  • How to create different log files for each of web applications deployed in OC4J

    Hi All,
    I am using OC4J(from Oracle) v1.0.2.2 and Windows2000. Now I want to know
    1. how to create different log files for each of my deployed web applications ?
    2. what are the advantages in running multiple instances of oc4j and in what case we should run
    multiple instances of OC4J ?
    3. how to run OC4J as Windows2000 Service rather than Windows2000 Application ?
    Thanks and Regards,
    Kumar.

    Hi Avi,
    First of all I have given a first reading to log4j and I think there will some more easy way of logging debugging messages than log4j (If you could provide me a detailed explanation of a servlet,jsp,java bean that uses log4j and how to use log4j then it will be very helpful for me). The other easy ways (if I am not using log4j) to my problem i.e creating different log files for each of web applications deployed in oc4j are
    I have created multiple instances of OC4J that are configured to run on different ports and so on each instance I have deployed a single web application . And I started the 2 oc4j instances by transferring thier error/log messages to a file. And the other way is ..
    I have download from jakarta site a package called servhelper . This servhelper is a thread that is started in a startup servlet and stopped in the destroy method of that startup servlet. So this thread will automatically capture all the system.out.println's and will print those to a file. I believe that this thread program is synchronized. So in this method I need not run multiple instances of OC4J instead each deployed web application on single instance of oc4j uses the same thread program (ofcourse a copy of thread program is put in each of the deployed web applications directories) to log messages on to different log files.
    Can you comment on my above 2 approached to logging debugging messages and a compartive explanation to LOG4J and how to use LOG4J using a simple servlet, simple jsp is appreciated ...
    Thanks and Regards,
    Ravi.

  • How to create one ISO file large than 2G

    hi,
    here when I create one ISO with 3G(larger than 2G) on solaris 10 machine, I met below error:
    mkisofs: File too large. cannot fwrite 32768*1
    Anyone has suggestion for this problem? How to create one ISO files larger than 2G?
    See the detail logs information:
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    mkisofs -o my.iso -A "Software DVD" -D -L -P "Study "-p CBC/XLE -r -T -V R50 -v iso
    mkisofs: The option '-L' is reserved by POSIX.1-2001.
    mkisofs: The option '-L' means 'follow all symbolic links'.
    mkisofs: Mkisofs-2.02 will introduce POSIX semantics for '-L'.
    mkisofs: Use -allow-leading-dots in future to get old mkisofs behavior.
    mkisofs: The option '-P' is reserved by POSIX.1-2001.
    mkisofs: The option '-P' means 'do not follow symbolic links'.
    mkisofs: Mkisofs-2.02 will introduce POSIX semantics for '-P'.
    mkisofs: Use -publisher in future to get old mkisofs behavior.
    Warning: creating filesystem that does not conform to ISO-9660.
    mkisofs 2.01 (sparc-sun-solaris2.10)
    Scanning iso
    Scanning iso/rac_stage3
    Using RAC_S000 for /rac_stage2 (rac_stage1)
    Using RAC_S001 for /rac_stage1 (rac_stage3)
    Using INSTA000.1;1 for ..
    Writing: The File(s) Start Block 48
    0.42% done, estimate finish Thu Feb 1 16:12:35 2007
    0.84% done, estimate finish Thu Feb 1 16:12:36 2007
    1.26% done, estimate finish Thu Feb 1 16:12:36 2007
    1.69% done, estimate finish Thu Feb 1 16:12:36 2007
    2.11% done, estimate finish Thu Feb 1 16:12:36 2007

    87.65% done, estimate finish Thu Feb 1 16:14:54 2007
    88.07% done, estimate finish Thu Feb 1 16:14:54 2007
    mkisofs: File too large. cannot fwrite 32768*1
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Thanks!

    does it matter "copy protection" ? for the problem that i have?
    my computer is alwyes get stuck while i trying to made a dvd or image
    i made few disks wite menu in the past & i had not problems at all

  • How to create a *.lnk file in the ipaq

    how to create the .lnk file and where in the Ipaq?
    if yes so how or can u write me an example
    thanks itzik

    -Connect your PDA to your Desktop
    -Using windows Explorer you can make shortcuts by right clicking on the file you want...
    Marco

  • How to insert a ZIP file in the message body and display it as icons

    how to attach an ZIP file as an inline attachment. whether its possible in java mail.

    Stop asking the same thing over and over.
    Keep the discussion in your original thread.

  • How to create a .jar file in wlcs3.1

    hello friends,
    hi friends, im working on weblogic commerce server3.1 . i dont know how to create a .jar file in weblogic commerce server3.1. can any one knows send email to me.
    thanks.
    hari

    $JDK_HOME/bin/jar (%JDK_HOME%\bin\jar) shows you the syntax
    where JDK_HOME is your jdk installation directory.
    Kumar
    hari wrote:
    hello friends,
    hi friends, im working on weblogic commerce server3.1 . i dont know how to create a .jar file in weblogic commerce server3.1. can any one knows send email to me.
    thanks.
    hari

  • How to open a zip-file in Bridge for PC?

    How to open a zip-file in Bridge for PC?

    I think it's built in, just double click on it and it should open with Archive Utility. I dunno, maybe Unrar X might work for you>
    JB

  • How to create a PAR file in Web Dynpro

    Hi !!
    Could any one tell me how to create a par file of the java application developed in WebDynpro..
    thanks
    ChandraSekar Maheswaran

    Hi,
    Refer the link
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/a-c/creating%20your%20first%20web%20dynpro%20application.pdf
    Webdynpro concepts
    Regards,
    Tamil K

  • How  to  Create a PSD file  in C#

    How  to  Create a PSD file  in C#

    Converting an image file to .psd is easy in Aperture - just export the image version with one of the export presets "PSD - Original size" or   "PSD - Half size".
    But I suspect, that will not solve your problem, since you are trying to create a watermark in Aperture and probably want to create a transparent background for the watermark, to give it an arbitrary shape. That cannot be done in Aperture. Aperture does not support compositing and layers. If you want to create an image of an arbitrary shape with a transparent background you need to use  a program that supports compositing. Since you do not have Photoshop, you could try the free GIMP instead (afaik, there is no Lion version of GIMP; the most recent version is Mt. Lion only; you could try if the Snow Leopard version works on your system).
    Any program that you own, that lets you write or draw on a transparent background will be fine. The Watermark file does not necessarily need to be a psd-file. A png will also work. You can also use Preview to convert between image formats or to annotate an image with text.
    Regards
    Léonie

  • How to create a CSV file in java

    how to create a CSV file in java

    this is the code that I have used in a hp project:
    private static final String DELIMIT = ",";
    StringBuffer buf = new StringBuffer();
    public void addString(String str){
    buf.append(toEscapedStringLiteral(str.replaceAll(" ","").trim())).append(DELIMIT);
    public void sendFile( String strData ,
                                String strTitle,
                                String strContType,
                                HttpServletResponse res ) throws IOException {
              byte[] _filedata=strData.getBytes();
              res.setContentType( strContType );
              res.setHeader( "Content-Disposition", "attachment;filename="+ strTitle );     
                     DataOutputStream out = new DataOutputStream( res.getOutputStream() );
              out.write( _filedata, 0, _filedata.length );
              out.close();
    public void addStringWhithReturn(String str){
              buf.append(toEscapedStringLiteral(str.replaceAll(" ","").trim()));
              buf.append( "\n" );
    private String toEscapedStringLiteral( String charSeq ) {
              if ( null == charSeq ) {
                   charSeq = "";
              return "\"" + charSeq + "\"";
    ....hope its help
    kou

Maybe you are looking for