public class FtpFileObject extends AbstractFileObject<FtpFileSystem>
DEFAULT_BUFFER_SIZE
EMPTY_ARRAY
Modifier | Constructor and Description |
---|---|
protected |
FtpFileObject(AbstractFileName name,
FtpFileSystem fileSystem,
FileName rootName) |
Modifier and Type | Method and Description |
---|---|
protected void |
doAttach()
Attaches this file object to its file resource.
|
protected void |
doCreateFolder()
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 |
doGetContentSize()
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 |
doGetLastModifiedTime()
Get the last modified time on an FTP file
|
protected OutputStream |
doGetOutputStream(boolean bAppend)
Creates an output stream to write the file content to.
|
protected RandomAccessContent |
doGetRandomAccessContent(RandomAccessMode mode)
Creates access to the file for random i/o.
|
protected FileType |
doGetType()
Determines the type of the file, returns null if the file does not exist.
|
protected String[] |
doListChildren()
Lists the children of the file.
|
protected FileObject[] |
doListChildrenResolved()
Lists the children of this file.
|
protected void |
doRename(FileObject newFile)
Renames the file
|
FileObject[] |
getChildren()
Returns 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.
|
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
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPath, getURI
forEach, spliterator
protected FtpFileObject(AbstractFileName name, FtpFileSystem fileSystem, FileName rootName) throws FileSystemException
FileSystemException
protected void doAttach() throws IOException
doAttach
in class AbstractFileObject<FtpFileSystem>
IOException
protected void doCreateFolder() throws Exception
doCreateFolder
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected void doDelete() throws Exception
doDelete
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected void doDetach()
doDetach
in class AbstractFileObject<FtpFileSystem>
protected long doGetContentSize() throws Exception
doGetContentSize
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected InputStream doGetInputStream(int bufferSize) throws Exception
doGetInputStream
in class AbstractFileObject<FtpFileSystem>
bufferSize
- Buffer size hint.Exception
- if an error occurs.protected long doGetLastModifiedTime() throws Exception
doGetLastModifiedTime
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.AbstractFileObject.doGetLastModifiedTime()
protected OutputStream doGetOutputStream(boolean bAppend) throws Exception
doGetOutputStream
in class AbstractFileObject<FtpFileSystem>
bAppend
- true if the file should be appended to, false if it should be overwritten.Exception
- if an error occurs.protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws Exception
AbstractFileObject
AbstractFileObject.doGetType()
returns FileType.FILE
.
It is guaranteed that there are no open output streams for this file when this method is called.
doGetRandomAccessContent
in class AbstractFileObject<FtpFileSystem>
mode
- The mode to access the file.Exception
- if an error occurs.protected FileType doGetType() throws Exception
doGetType
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected String[] doListChildren() throws Exception
doListChildren
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected FileObject[] doListChildrenResolved() throws Exception
AbstractFileObject
Is only called if AbstractFileObject.doGetType()
returns FileType.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())
doListChildrenResolved
in class AbstractFileObject<FtpFileSystem>
Exception
- if an error occurs.protected void doRename(FileObject newFile) throws Exception
doRename
in class AbstractFileObject<FtpFileSystem>
newFile
- A FileObject with the new file name.Exception
- if an error occurs.public FileObject[] getChildren() throws FileSystemException
getChildren
in interface FileObject
getChildren
in class AbstractFileObject<FtpFileSystem>
FileSystemException
- If there was a problem listing childrenAbstractFileObject.getChildren()
protected void onChange() throws IOException
onChange
in class AbstractFileObject<FtpFileSystem>
IOException
protected void onChildrenChanged(FileName child, FileType newType)
onChildrenChanged
in class AbstractFileObject<FtpFileSystem>
child
- The name of the child that changed.newType
- The type of the file.public void refresh() throws FileSystemException
AbstractFileObject
refresh
in interface FileObject
refresh
in class AbstractFileObject<FtpFileSystem>
FileSystemException
- if an error occurs.Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.