MIDRANGE dot COM Mailing List Archive



Home » JAVA400-L » October 2008

RE: Using Apache VFS to FTP to the AS/400 IFS



fixed

Sarah --

No, I haven't gotten to it yet. I hope to work with it in the next
couple of day.

I'll let you know.

Bill

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Sarah Poger
Gladstone
Sent: Sunday, October 26, 2008 8:02 AM
To: Java Programming on and around the iSeries / AS400
Subject: Re: Using Apache VFS to FTP to the AS/400 IFS

Bill- Were you able to use my simple Java class to try out an FTP
upload with Apache VFS?


-Sarah

On Thu, Oct 23, 2008 at 6:02 PM, Sarah Poger Gladstone
<listmember@xxxxxxxxxxxxxx> wrote:
Bill-

Below is a Java class with a main method that I am using for testing
an FTP upload using the VFS APIs.

import org.apache.commons.vfs.FileObject;
import org.apache.commons.vfs.FileSelector;
import org.apache.commons.vfs.FileSystemManager;
import org.apache.commons.vfs.FileSystemOptions;
import org.apache.commons.vfs.Selectors;
import org.apache.commons.vfs.VFS;
import org.apache.commons.vfs.impl.DefaultFileSystemManager;
import org.apache.commons.vfs.provider.ftp.FtpFileSystemConfigBuilder;

public class Ftptest1 {




public Ftptest1() {
// obtain a FileSystemManager instance
FileSystemManager mgr = null;
try {
mgr = VFS.getManager();

FileSystemOptions fileSystemOptions;
FileSystemOptions opts = new
FileSystemOptions();
fileSystemOptions = opts;

//fileSystemOptions = opts;

//SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(fil
eSystemOptions,
"no");

//FtpFileSystemConfigBuilder.getInstance().setDataTimeout(opts, 100);

FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(fileSystemOpti
ons,
false);
//FileSystemConfigBuilder config =
(FileSystemConfigBuilder)FtpFileSystemConfigBuilder.getInstance();



boolean tmp =

FtpFileSystemConfigBuilder.getInstance().getUserDirIsRoot(fileSystemOpti
ons);
System.out.println("Setting for 'UserDirIsRoot'
:" + tmp);
//locate the local file by name
System.out.println("Now locate the local file
by name");
String strLocalFile =
"C:\\sgladstone\\edfiles\\" + "datafile";
FileObject foLocalFile =
mgr.resolveFile(strLocalFile);

// locate the remote file by name
System.out.println("Now locate the remote file
by name");

String rUrlStr =

"ftp://myuserprofile:mypassword@myas400hostname/home/aplsup/sarahtest.tx
t"
;
FileObject foRemoteFile = mgr.resolveFile(
rUrlStr, opts);

if(foRemoteFile.exists()){
System.out.println("Remote file
exists");
}else{
System.out.println("Remote file does
NOT exist");
}


FileSelector fS = Selectors.SELECT_SELF ;


// Copy the contents of the local file to the
remote file.
// ie upload the file to the server
if (foLocalFile.exists()){
System.out.println("local file exists,
try copyFrom cmd");
foRemoteFile.copyFrom(foLocalFile, fS);
}else{
System.out.println("Local file does not
exist. Nothing to upload. ");
}

}catch (Exception e) {
e.printStackTrace();
}finally {
System.out.println("Now close the
FileSystemManager");
if( mgr != null) ((DefaultFileSystemManager)
mgr).close();
}


}
/**
* @param args
*/
public static void main(String[] args) {
new Ftptest1();
System.out.println("Now exit main");

}

}


On Wed, Oct 22, 2008 at 8:49 AM, Blalock, Bill <Bill.Blalock@xxxxxxxx>
wrote:
Good morning Sarah

Apache VFS uses Jakarta Commons Net for the FTP part.

With luck the Net part will take initialization parameters, and may
even
have a console which could show the dialog between the client and
server.

I've downloaded the source for these projects because I am curious
and I
will learn things applicable to my projects.

Could you send me a stand alone sample program which transfers using
FTP?

Bill B








Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact