finj - FTP Client for Java Apps
[ L A S T U P D A T E : 2014-12-07 ]
What is finj ?
a FTP client written in Java as part of the standard classes.
Unfortunately, since the
sun.net.ftp.* classes are not
part of the
java.* packages, neither the source code
nor a complete API are available.
The goal of this project is to provide to developers a complete,
*well designed*, programmatically controllable Open-Source
FTP client written in the Java language.
finj then simply stands for 'FTP in Java'.
Here, we are talking about the low level client : the one
that opens the connections to the FTP server and actually talks
the protocol fluently
:) According to the
RFC 959, this means implementing the
User-PI and the
User-DTP (see Figure 1
and links for details)... doesn't represent too much work !
Future development could include "on the fly" encryption, compression, ...
depending on developers
requirements and ideas.
Those classes could easily become the heart of final user
FTP client front ends (eg. GUI or Cli based), but this is NOT
the aim of this very project which, more generally targets any
network oriented standalone application, and even applet,
that needs to rely on FTP, eg. a distributed application
could use it to upload data and download calculated results
to and from a file server.
This software is distributed under the GNU LGPL license.
A copy of this file can be found in the downloadable libraries.
Mainly, this licensing scheme states that even if the software package
(typically libraries) IS GPLed, it can be used by non-GPLed software.
You can browse for more information on the LGPL on the
Free Software Foundation (FSF).
Figure 1 : Diagram for an FTP service (click on words for details)
New and notable
[ All news can be found in the news repository ]
> 2009-07-15 : Release 1.1.5
- Recently fixed :
method org.finj.FTClient.getFileDescriptors(String) :
bug with command result parsing.
> 2006-11-13 : maven and subversion
Please note that from now on, the
finj source code
is directly available from the SourceForge subversion servers:
The project is now managed / compiled / tested / packaged /... under
Apache Maven 2
- Recently implemented :
method org.finj.FTPClient.getFileDescriptors() :
based on a contribution of Hector Mauricio Gonzalez.
> 2000-10-19 : IMPORTANT NOTE
First of all : many thanks to people that sent comments/requests and downloaded draft versions
of API... it's good to know that this project has some echo out there
Then : sorry to be that late on releases. Really. But now I'm afraid to admit that
I'M UNABLE TO MAKE THIS PROJECT LIVE DECENTLY BY MY OWN
ok. I wrote it. I'm running out of time... so I released today (2000-11-24) the first very,
very draft version of the java source code I was working on. It's pretty ugly, with lot of
debugging stuff everywhere.
Have a look at :
to see what's already implemented/works.
Now, send your feedback !! are you still interested in this project ? if it's the case,
you're welcome. There's not too much work to do, but I can't find enough time in a straight
to work well enough on it.
I hope we'll find a solution, all together !