Class SftpFileObject
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractFileObject<SftpFileSystem>
-
- org.apache.commons.vfs2.provider.sftp.SftpFileObject
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Comparable<FileObject>,java.lang.Iterable<FileObject>,FileObject
public class SftpFileObject extends AbstractFileObject<SftpFileSystem>
An SFTP file.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSftpFileObject(AbstractFileName name, SftpFileSystem fileSystem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoCreateFolder()Creates this file as a folder.protected voiddoDelete()Deletes the file.protected voiddoDetach()Detaches this file object from its file resource.protected longdoGetContentSize()Returns the size of the file content (in bytes).protected java.io.InputStreamdoGetInputStream()Creates an input stream to read the file content from.protected longdoGetLastModifiedTime()Returns the last modified time of this file.protected java.io.OutputStreamdoGetOutputStream(boolean bAppend)Creates an output stream to write the file content to.protected RandomAccessContentdoGetRandomAccessContent(RandomAccessMode mode)Creates access to the file for random i/o.protected FileTypedoGetType()Determines the type of this file, returns null if the file does not exist.protected booleandoIsExecutable()Determines if this file is executable.protected booleandoIsReadable()Determines if this file can be read.protected booleandoIsWriteable()Determines if this file can be written to.protected java.lang.String[]doListChildren()Lists the children of this file.protected FileObject[]doListChildrenResolved()Lists the children of this file.protected voiddoRename(FileObject newFile)Rename the file.protected booleandoSetExecutable(boolean executable, boolean ownerOnly)Make the file executable.protected booleandoSetLastModifiedTime(long modtime)Sets the last modified time of this file.protected booleandoSetReadable(boolean readable, boolean ownerOnly)Make the file or folder readable.protected booleandoSetWritable(boolean writable, boolean ownerOnly)Make the file or folder writeable.protected PosixPermissionsgetPermissions(boolean checkIds)Returns the POSIX type permissions of the file.protected voidonChange()Called when the type or content of this file changes.voidrefresh()This will prepare the fileObject to get resynchronized with the underlying filesystem if required.-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileObject
canRenameTo, childrenChanged, close, compareTo, copyFrom, createFile, createFolder, delete, delete, deleteAll, doAttach, doCreateFileContent, doGetAttributes, doGetCertificates, doIsHidden, doIsSameFile, doRemoveAttribute, doSetAttribute, endOutput, exists, finalize, findFiles, findFiles, getAbstractFileSystem, getChild, getChildren, getContent, getFileContentInfoFactory, getFileOperations, getFileSystem, getInputStream, getName, getOutputStream, getOutputStream, getParent, getPublicURIString, getRandomAccessContent, getType, getURL, handleChanged, handleCreate, handleDelete, holdObject, injectType, isAttached, isContentOpen, isExecutable, isFile, isFolder, isHidden, isReadable, isSameFile, isWriteable, iterator, listFiles, moveTo, notifyAllStreamsClosed, onChildrenChanged, resolveFile, resolveFile, setExecutable, setReadable, setWritable, toString
-
-
-
-
Constructor Detail
-
SftpFileObject
protected SftpFileObject(AbstractFileName name, SftpFileSystem fileSystem) throws FileSystemException
- Throws:
FileSystemException
-
-
Method Detail
-
doDetach
protected void doDetach() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectDetaches this file object from its file resource.Called when this file is closed. Note that the file object may be reused later, so should be able to be reattached.
This implementation does nothing.
- Overrides:
doDetachin classAbstractFileObject<SftpFileSystem>- Throws:
java.lang.Exception- if an error occurs.- Since:
- 2.0
-
refresh
public void refresh() throws FileSystemExceptionDescription copied from class:AbstractFileObjectThis will prepare the fileObject to get resynchronized with the underlying filesystem if required.- Specified by:
refreshin interfaceFileObject- Overrides:
refreshin classAbstractFileObject<SftpFileSystem>- Throws:
FileSystemException- if error occurs.- Since:
- 2.0
-
doGetType
protected FileType doGetType() throws java.lang.Exception
Determines the type of this file, returns null if the file does not exist.- Specified by:
doGetTypein classAbstractFileObject<SftpFileSystem>- Returns:
- the type of the file.
- Throws:
java.lang.Exception- if an error occurs.
-
onChange
protected void onChange() throws java.lang.ExceptionCalled when the type or content of this file changes.- Overrides:
onChangein classAbstractFileObject<SftpFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
doCreateFolder
protected void doCreateFolder() throws java.lang.ExceptionCreates this file as a folder.- Overrides:
doCreateFolderin classAbstractFileObject<SftpFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
doGetLastModifiedTime
protected long doGetLastModifiedTime() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectReturns the last modified time of this file. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation throws an exception.
- Overrides:
doGetLastModifiedTimein classAbstractFileObject<SftpFileSystem>- Returns:
- The last modification time.
- Throws:
java.lang.Exception- if an error occurs.
-
doSetLastModifiedTime
protected boolean doSetLastModifiedTime(long modtime) throws java.lang.ExceptionSets the last modified time of this file. Is only called ifdoGetType()does not returnFileType.IMAGINARY.- Overrides:
doSetLastModifiedTimein classAbstractFileObject<SftpFileSystem>- Parameters:
modtime- is modification time in milliseconds. SFTP protocol can send times with nanosecond precision but at the moment jsch send them with second precision.- Returns:
- true if the time was set.
- Throws:
java.lang.Exception- Any Exception thrown is wrapped in FileSystemException.
-
doDelete
protected void doDelete() throws java.lang.ExceptionDeletes the file.- Overrides:
doDeletein classAbstractFileObject<SftpFileSystem>- Throws:
java.lang.Exception- if an error occurs.
-
doRename
protected void doRename(FileObject newFile) throws java.lang.Exception
Rename the file.- Overrides:
doRenamein classAbstractFileObject<SftpFileSystem>- Parameters:
newFile- A FileObject with the new file name.- Throws:
java.lang.Exception- if an error occurs.
-
getPermissions
protected PosixPermissions getPermissions(boolean checkIds) throws java.lang.Exception
Returns the POSIX type permissions of the file.- Parameters:
checkIds-trueif user and group ID should be checked (needed for some access rights checks)- Returns:
- A PosixPermission object
- Throws:
java.lang.Exception- If an error occurs- Since:
- 2.1
-
doIsReadable
protected boolean doIsReadable() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectDetermines if this file can be read. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation always returns true.
- Overrides:
doIsReadablein classAbstractFileObject<SftpFileSystem>- Returns:
- true if the file is readable, false otherwise.
- Throws:
java.lang.Exception- if an error occurs.
-
doSetReadable
protected boolean doSetReadable(boolean readable, boolean ownerOnly) throws java.lang.ExceptionDescription copied from class:AbstractFileObjectMake the file or folder readable.Only called if
AbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation returns false.
- Overrides:
doSetReadablein classAbstractFileObject<SftpFileSystem>- Parameters:
readable- True to allow access, false to disallowownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
java.lang.Exception- Any Exception thrown is wrapped in FileSystemException.- See Also:
AbstractFileObject.setReadable(boolean, boolean)
-
doIsWriteable
protected boolean doIsWriteable() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectDetermines if this file can be written to. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation always returns true.
- Overrides:
doIsWriteablein classAbstractFileObject<SftpFileSystem>- Returns:
- true if the file is writable.
- Throws:
java.lang.Exception- if an error occurs.
-
doSetWritable
protected boolean doSetWritable(boolean writable, boolean ownerOnly) throws java.lang.ExceptionDescription copied from class:AbstractFileObjectMake the file or folder writeable.Only called if
AbstractFileObject.doGetType()does not returnFileType.IMAGINARY.- Overrides:
doSetWritablein classAbstractFileObject<SftpFileSystem>- Parameters:
writable- True to allow access, false to disallowownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded
- Throws:
java.lang.Exception- Any Exception thrown is wrapped in FileSystemException.- See Also:
AbstractFileObject.setWritable(boolean, boolean)
-
doIsExecutable
protected boolean doIsExecutable() throws java.lang.ExceptionDescription copied from class:AbstractFileObjectDetermines if this file is executable. Is only called ifAbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation always returns false.
- Overrides:
doIsExecutablein classAbstractFileObject<SftpFileSystem>- Returns:
- true if the file is executable, false otherwise.
- Throws:
java.lang.Exception- if an error occurs.
-
doSetExecutable
protected boolean doSetExecutable(boolean executable, boolean ownerOnly) throws java.lang.ExceptionDescription copied from class:AbstractFileObjectMake the file executable.Only called if
AbstractFileObject.doGetType()does not returnFileType.IMAGINARY.This implementation returns false.
- Overrides:
doSetExecutablein classAbstractFileObject<SftpFileSystem>- Parameters:
executable- True to allow access, false to disallow.ownerOnly- Iftrue, the permission applies only to the owner; otherwise, it applies to everybody.- Returns:
- true if the operation succeeded.
- Throws:
java.lang.Exception- Any Exception thrown is wrapped in FileSystemException.- See Also:
AbstractFileObject.setExecutable(boolean, boolean)
-
doListChildrenResolved
protected FileObject[] doListChildrenResolved() throws java.lang.Exception
Lists the children of this file.- Overrides:
doListChildrenResolvedin classAbstractFileObject<SftpFileSystem>- Returns:
- The children of this FileObject.
- Throws:
java.lang.Exception- if an error occurs.
-
doListChildren
protected java.lang.String[] doListChildren() throws java.lang.ExceptionLists the children of this file.- Specified by:
doListChildrenin classAbstractFileObject<SftpFileSystem>- 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:
java.lang.Exception- if an error occurs.
-
doGetContentSize
protected long doGetContentSize() throws java.lang.ExceptionReturns the size of the file content (in bytes).- Specified by:
doGetContentSizein classAbstractFileObject<SftpFileSystem>- Returns:
- The size of the file in bytes.
- Throws:
java.lang.Exception- if an error occurs.
-
doGetRandomAccessContent
protected RandomAccessContent doGetRandomAccessContent(RandomAccessMode mode) throws java.lang.Exception
Description copied from class:AbstractFileObjectCreates 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:
doGetRandomAccessContentin classAbstractFileObject<SftpFileSystem>- Parameters:
mode- The mode to access the file.- Returns:
- The RandomAccessContext.
- Throws:
java.lang.Exception- if an error occurs.
-
doGetInputStream
protected java.io.InputStream doGetInputStream() throws java.lang.ExceptionCreates an input stream to read the file content from.- Specified by:
doGetInputStreamin classAbstractFileObject<SftpFileSystem>- Returns:
- An InputStream to read the file content.
- Throws:
java.lang.Exception- if an error occurs.
-
doGetOutputStream
protected java.io.OutputStream doGetOutputStream(boolean bAppend) throws java.lang.ExceptionCreates an output stream to write the file content to.- Overrides:
doGetOutputStreamin classAbstractFileObject<SftpFileSystem>- 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:
java.lang.Exception- if an error occurs.
-
-