adding a file to a zip file

Posted on 2007-11-29
Last Modified: 2010-03-30
Here is basically my what my code is doing

Creates a XML file
Creates a zip file (XML file is not included)
FTPs the zip

What I need to do now is add the XML to the zip file.  I tried to do:
out.putNextEntry(new ZipEntry(XMLName));      

This put the file name in the zip file but with no data.  I am attaching my zip code
//***********************************************************Start ZIP       
        byte[] buf = new byte[1024];
	try {
	    // Create the ZIP file
	    String target = path;
	    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
	    // Compress the files
	    for (int i=0; i<remember.size(); i++) {
		FileInputStream in = new FileInputStream(remember.elementAt(i));
		// Add ZIP entry to output stream.
		//out.putNextEntry(new ZipEntry(remember.elementAt(i)));
	        //New Zip suff
                if (remember.elementAt(i).lastIndexOf('\\') != -1) {
                slash = remember.elementAt(i).lastIndexOf('\\');
                } else {
                slash = remember.elementAt(i).lastIndexOf('/');
                name = remember.elementAt(i).substring(slash + 1);
                out.putNextEntry(new ZipEntry(name));	
                // Transfer bytes from the file to the ZIP file
		int len;
		while ((len = > 0) {
		    out.write(buf, 0, len);
		// Complete the entry
	    // Complete the ZIP file
	} catch (IOException e) {
	System.out.println("Zip File is Completed"); 
//*****************************************************End ZIP

Open in new window

Question by:Jaziar
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 17

Accepted Solution

contactkarthi earned 125 total points
ID: 20376061
see the example here

you need to read and write the xml file to out

Expert Comment

ID: 20376063
LVL 17

Expert Comment

ID: 20376075
some thing like
FileInputStream in = new FileInputStream(filenames[i]);
            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(filenames[i]));
            // Transfer bytes from the file to the ZIP file
            int len;
            while ((len = > 0) {
                out.write(buf, 0, len);
            // Complete the entry

Open in new window


Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Suggested Courses

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question