× 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.



Hey Sarah:

I was able to get your program to work if I pre-created an empty file on
the remote.

I changed:

String strLocalFile = "C:/temp/logs/clean_debug.log";
String rUrlStr =
"ftp://BLALOOCK:XXXXXXXX@mysystem/blalock/clean_debug.log";

When clean_debug.log did not exist in the blalock folder of the IFS I
got the error
Could not create FTP directory "ftp://BLALOCK:XXXXXXXX@mysystem/blalock";

I change rUrlStr to "ftp://BLALOOCK:XXXXXXXX@mysystem/blalock/"; and got
the error:

Cant open output connection for file
"ftp://BLALOCK:XXXXXXXX@mysystem/blalock";. Reason: "550 Path name
specifies a directory: /blalock

Same if thing if the ending slash isn't present.

But it works if
/blalock/clean_debug.log
is present on the remote system before the program is run. I created a
new text document through explorer and named it "clean_debug.log"

It started out with zero bytes.

After running the program it had data which I opened with notepad and
saw was the log file which I had copied from my /temp folder.

I realize pre-creating the file is not a solution. But that does tell
me that NAMEFMT=1 isn't the problem.

Bill Blalock

-----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




As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.