Class FtpFileObject
java.lang.Object
org.apache.commons.vfs2.provider.AbstractFileObject<FtpFileSystem>
org.apache.commons.vfs2.provider.ftp.FtpFileObject
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Comparable<FileObject>
,Iterable<FileObject>
,FileObject
An FTP file.
-
Field Summary
Fields inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
DEFAULT_BUFFER_SIZE
Fields inherited from interface org.apache.commons.vfs2.FileObject
EMPTY_ARRAY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
FtpFileObject
(AbstractFileName fileName, FtpFileSystem fileSystem, FileName rootName) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doAttach()
Attaches this file object to its file resource.protected void
Creates this file as a folder.protected void
doDelete()
Deletes the file.protected void
doDetach()
Detaches this file object from its file resource.protected long
Returns the size of the file content (in bytes).protected InputStream
doGetInputStream
(int bufferSize) Creates an input stream to read the file content from.protected long
Gets the last modified time on an FTP fileprotected OutputStream
doGetOutputStream
(boolean bAppend) Creates an output stream to write the file content to.protected RandomAccessContent
Creates access to the file for random i/o.protected FileType
Determines the type of the file, returns null if the file does not exist.protected String[]
Lists the children of the file.protected FileObject[]
Lists the children of this file.protected void
doRename
(FileObject newFile) Renames the fileReturns the file's list of children.protected void
onChange()
Called when the type or content of this file changes.protected void
onChildrenChanged
(FileName child, FileType newType) Called when the children of this file change.void
refresh()
This will prepare the fileObject to get resynchronized with the underlying file system if required.Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doCreateFileContent, doGetAttributes, doGetCertificates, doGetInputStream, doIsExecutable, doIsHidden, doIsReadable, doIsSameFile, doIsSymbolicLink, doIsWriteable, doRemoveAttribute, doSetAttribute, doSetExecutable, doSetLastModifiedTime, doSetReadable, doSetWritable, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isSymbolicLink, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.vfs2.FileObject
getPath, getURI
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
FtpFileObject
protected FtpFileObject(AbstractFileName fileName, FtpFileSystem fileSystem, FileName rootName) throws FileSystemException Constructs a new instance.- Parameters:
fileName
- the file name.fileSystem
- the file system.rootName
- the root name.- Throws:
FileSystemException
- if an file system error occurs.
-
-
Method Details
-
doAttach
Attaches this file object to its file resource.- Overrides:
doAttach
in classAbstractFileObject<FtpFileSystem>
- Throws:
IOException
-
doCreateFolder
Creates this file as a folder.- Overrides:
doCreateFolder
in classAbstractFileObject<FtpFileSystem>
- Throws:
Exception
- if an error occurs.
-
doDelete
Deletes the file.- Overrides:
doDelete
in classAbstractFileObject<FtpFileSystem>
- Throws:
Exception
- if an error occurs.
-
doDetach
Detaches this file object from its file resource.- Overrides:
doDetach
in classAbstractFileObject<FtpFileSystem>
-
doGetContentSize
Returns the size of the file content (in bytes).- Specified by:
doGetContentSize
in classAbstractFileObject<FtpFileSystem>
- Returns:
- The size of the file in bytes.
- Throws:
Exception
- if an error occurs.
-
doGetInputStream
Creates an input stream to read the file content from.- Overrides:
doGetInputStream
in classAbstractFileObject<FtpFileSystem>
- Parameters:
bufferSize
- Buffer size hint.- Returns:
- An InputStream to read the file content.
- Throws:
Exception
- if an error occurs.
-
doGetLastModifiedTime
Gets the last modified time on an FTP file- Overrides:
doGetLastModifiedTime
in classAbstractFileObject<FtpFileSystem>
- Returns:
- The last modification time.
- Throws:
Exception
- if an error occurs.- See Also:
-
doGetOutputStream
Creates an output stream to write the file content to.- Overrides:
doGetOutputStream
in classAbstractFileObject<FtpFileSystem>
- Parameters:
bAppend
- true if the file should be appended to, false if it should be overwritten.- Returns:
- An OutputStream to write to the file.
- Throws:
Exception
- if an error occurs.
-
doGetRandomAccessContent
Description copied from class:AbstractFileObject
Creates access to the file for random i/o. Is only called ifAbstractFileObject.doGetType()
returnsFileType.FILE
.It is guaranteed that there are no open output streams for this file when this method is called.
- Overrides:
doGetRandomAccessContent
in classAbstractFileObject<FtpFileSystem>
- Parameters:
mode
- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
Exception
- if an error occurs.
-
doGetType
Determines the type of the file, returns null if the file does not exist.- Specified by:
doGetType
in classAbstractFileObject<FtpFileSystem>
- Returns:
- the type of the file.
- Throws:
Exception
- if an error occurs.
-
doListChildren
Lists the children of the file.- Specified by:
doListChildren
in classAbstractFileObject<FtpFileSystem>
- Returns:
- a possible empty String array if the file is a directory or null or an exception if the file is not a directory or can't be read.
- Throws:
Exception
- if an error occurs.
-
doListChildrenResolved
Description copied from class:AbstractFileObject
Lists the children of this file.Is only called if
AbstractFileObject.doGetType()
returnsFileType.FOLDER
.The return value of this method is cached, so the implementation can be expensive. Other than
doListChildren
you could return FileObject's to e.g. reinitialize the type of the file.(Introduced for WebDAV: "permission denied on resource" during getType())
- Overrides:
doListChildrenResolved
in classAbstractFileObject<FtpFileSystem>
- Returns:
- The children of this FileObject.
- Throws:
Exception
- if an error occurs.
-
doRename
Renames the file- Overrides:
doRename
in classAbstractFileObject<FtpFileSystem>
- Parameters:
newFile
- A FileObject with the new file name.- Throws:
Exception
- if an error occurs.
-
getChildren
Returns the file's list of children.- Specified by:
getChildren
in interfaceFileObject
- Overrides:
getChildren
in classAbstractFileObject<FtpFileSystem>
- Returns:
- The list of children
- Throws:
FileSystemException
- If there was a problem listing children- Since:
- 2.0
- See Also:
-
onChange
Called when the type or content of this file changes.- Overrides:
onChange
in classAbstractFileObject<FtpFileSystem>
- Throws:
IOException
-
onChildrenChanged
Called when the children of this file change.- Overrides:
onChildrenChanged
in classAbstractFileObject<FtpFileSystem>
- Parameters:
child
- The name of the child that changed.newType
- The type of the file.
-
refresh
Description copied from class:AbstractFileObject
This will prepare the fileObject to get resynchronized with the underlying file system if required.- Specified by:
refresh
in interfaceFileObject
- Overrides:
refresh
in classAbstractFileObject<FtpFileSystem>
- Throws:
FileSystemException
- if an error occurs.
-