org.apache.commons.net.ftp
Class FTPFileList
java.lang.Object
|
+--org.apache.commons.net.ftp.FTPFileList
public class FTPFileList
extends java.lang.Object
This class encapsulates a listing of files from an FTP server. It is
initialized with an input stream which is read and the input split into
lines, each of which (after some possible initial verbiage) represents
a file on the FTP server. A parser is also supplied, which is used to
iterate through the internal list of lines parsing each into an FTPFile
object which is returned to the caller of the iteration methods. This
parser may be replaced with another, allowing the same list to be parsed
with different parsers.
Parsing takes place on an as-needed basis, basically, the first time a
position is iterated over. This happens at the time of iteration, not
prior to it as the older (FTPClient.listFiles() methods did,
which required a bigger memory hit.
org.apache.commons.net.ftp.FTPClient.createFileList
org.apache.commons.net.ftp.FTPFileIterator
org.apache.commons.net.ftp.FTPFileEntryParser
org.apache.commons.net.ftp.FTPListParseEngine
create
public static FTPFileList create(InputStream stream, FTPFileEntryParser parser)
The only way to create an FTPFileList object. Invokes
the private constructor and then reads the stream supplied stream to
build the intermediate array of "lines" which will later be parsed
into FTPFile object.
- stream - The input stream created by reading the socket on which
the output of the LIST command was returned
- parser - the default FTPFileEntryParser to be used
by this object.
- the FTPFileList created, with an initialized
of unparsed lines of output. Will be null if the listing cannot
be read from the stream.
- Thrown on any failure to read from the socket.
getFiles
public FTPFile[] getFiles()
returns an array of FTPFile objects for all the files in the directory
listing
- an array of FTPFile objects for all the files in the directory
listinge
iterator
public FTPFileIterator iterator()
create an iterator over this list using the parser with which this list
was initally created
- an iterator over this list using the list's default parser.
iterator
public FTPFileIterator iterator(FTPFileEntryParser parser)
create an iterator over this list using the supplied parser
- parser - The user-supplied parser with which the list is to be
iterated, may be different from this list's default parser.
- an iterator over this list using the supplied parser.
readStream
public void readStream(InputStream stream)
internal method for reading the input into the lines vector.
- stream - The socket stream on which the input will be read.
- thrown on any failure to read the stream
(FTPClient.listFiles()methods did, which required a bigger memory hit.