× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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(fileSystemOptions,
"no");
//FtpFileSystemConfigBuilder.getInstance().setDataTimeout(opts, 100);
FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(fileSystemOptions,
false);
//FileSystemConfigBuilder config =
(FileSystemConfigBuilder)FtpFileSystemConfigBuilder.getInstance();



boolean tmp =
FtpFileSystemConfigBuilder.getInstance().getUserDirIsRoot(fileSystemOptions);
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.txt";
;
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




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.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 on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.