?
Solved

FTP a zip file with java

Posted on 2009-05-15
5
Medium Priority
?
410 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 750 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

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

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

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 how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

752 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