Solved

FTP a zip file with java

Posted on 2009-05-15
5
401 Views
Last Modified: 2012-05-07
I'm using this piece of code in order to upload files to an ftp server,
and it works ok with plain file (eg. a TXT file)
but when I'm trying to upload a ZIP file ,
the file that uploaded to the server is corrapted.
Any suggestons ? ?

Thanks
public class testFTP {
 
    public static final void main(String[] args) {
        String server      = null;     server       = args[0]
        String username = null;     username = args[1];
        String password = null;    password = args[2];
        String directory   = null;     directory   = args[3];
        
        try{
        FTPClient ftp=new FTPClient();
        
        ftp.connect(server);
        ftp.login(username, password);
        
        ftp.changeWorkingDirectory(directory);
        
        String dir = System.getProperty("user.dir")+"\\";
        String filename = dir+"my_file.zip";
        
        File f = new File(filename);
        FileInputStream fis = new FileInputStream(filename);
        ftp.storeFile(f.getName(), fis);
        ftp.logout();
        fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
}
}

Open in new window

0
Comment
Question by:nikos270
[X]
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
  • 2
5 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 24394057
Call binary() on the client before uploading
0
 

Author Comment

by:nikos270
ID: 24394073
you mean something like this:
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);

0
 
LVL 12

Accepted Solution

by:
Gibu George earned 250 total points
ID: 24394094
If you are using apache commones net FTPClient
set the file type as FTP.BINARY_FILE_TYPE
ftp.setFileType(FTP.BINARY_FILE_TYPE);
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24394121
The transfer modes are

 BLOCK_TRANSFER_MODE, COMPRESSED_TRANSFER_MODE,  STREAM_TRANSFER_MODE
by default it uses STREAM_TRANSFER_MODE
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24394311
>>you mean something like this:

yes
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
ejb wildfly example 2 110
JavaFX TableView not displaying correctly 3 159
java example issue 5 65
Setup Eclipse for Andriod development 2 18
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
Suggested Courses

734 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