インタフェース SmbResource
-
- すべてのスーパーインタフェース:
AutoCloseable
- 既知のサブインタフェースのリスト:
SmbPipeResource
- 既知の実装クラスのリスト:
SmbFile,SmbNamedPipe
public interface SmbResource extends AutoCloseable
This class represents a resource on an SMB network. Mainly these resources are files and directories however anSmbFilemay also refer to servers and workgroups.- 作成者:
- mbechler
- 関連項目:
for the main implementation of this interface
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド abstractメソッド 修飾子とタイプ メソッド 説明 booleancanRead()Tests to see if the file thisSmbResourcerepresents can be read.booleancanWrite()Tests to see if the file thisSmbResourcerepresents exists and is not marked read-only.CloseableIterator<SmbResource>children()Fetch all childrenCloseableIterator<SmbResource>children(String wildcard)Fetch children matching pattern, server-side filteringCloseableIterator<SmbResource>children(ResourceFilter filter)CloseableIterator<SmbResource>children(ResourceNameFilter filter)voidclose()Close/release the file This releases all resources that this file holds.voidcopyTo(SmbResource dest)This method will copy the file or directory represented by this SmbResource and it's sub-contents to the location specified by the dest parameter.voidcreateNewFile()Create a new file but fail if it already exists.longcreateTime()Retrieve the time thisSmbResourcewas created.voiddelete()This method will delete the file or directory specified by thisSmbResource.booleanexists()Tests to see if the SMB resource exists.longfileIndex()Get the file indexintgetAttributes()Return the attributes of this file.CIFSContextgetContext()The context this file was opened withlonggetDiskFreeSpace()This method returns the free disk space in bytes of the drive this share represents or the drive on which the directory or file resides.SmbResourceLocatorgetLocator()Gets the file locator for this file The file locator provides details aboutStringgetName()Returns the last component of the target URL.SIDgetOwnerGroup()Return the resolved owner group SID for this file or directorySIDgetOwnerGroup(boolean resolve)Return the owner group SID for this file or directorySIDgetOwnerUser()Return the resolved owner user SID for this file or directorySIDgetOwnerUser(boolean resolve)Return the owner user SID for this file or directoryACE[]getSecurity()Return an array of Access Control Entry (ACE) objects representing the security descriptor associated with this file or directory.ACE[]getSecurity(boolean resolveSids)Return an array of Access Control Entry (ACE) objects representing the security descriptor associated with this file or directory.ACE[]getShareSecurity(boolean resolveSids)Return an array of Access Control Entry (ACE) objects representing the share permissions on the share exporting this file or directory.intgetType()Returns type of of object this SmbResource represents.booleanisDirectory()Tests to see if the file thisSmbResourcerepresents is a directory.booleanisFile()Tests to see if the file thisSmbResourcerepresents is not a directory.booleanisHidden()Tests to see if the file this SmbResource represents is marked as hidden.longlastAccess()Retrieve the last acces time of the file represented by thisSmbResourcelonglastModified()Retrieve the last time the file represented by thisSmbResourcewas modified.longlength()Returns the length of this SmbResource in bytes.voidmkdir()Creates a directory with the path specified by thisSmbResource.voidmkdirs()Creates a directory with the path specified by this SmbResource and any parent directories that do not exist.InputStreamopenInputStream()Opens an input stream reading the file (read only, sharable)InputStreamopenInputStream(int sharing)Opens an input stream reading the file (read only)InputStreamopenInputStream(int flags, int access, int sharing)Opens an input stream reading the file (read only)OutputStreamopenOutputStream()Opens an output stream writing to the file (truncating, write only, sharable)OutputStreamopenOutputStream(boolean append)Opens an output stream writing to the file (write only, read sharable)OutputStreamopenOutputStream(boolean append, int sharing)Opens an output stream writing to the file (write only, exclusive write access)OutputStreamopenOutputStream(boolean append, int openFlags, int access, int sharing)Opens an output stream writing to the file (write only, exclusive write access)SmbRandomAccessopenRandomAccess(String mode)Opens the file for random accessSmbRandomAccessopenRandomAccess(String mode, int sharing)Opens the file for random accessvoidrenameTo(SmbResource dest)Changes the name of the file thisSmbResourcerepresents to the name designated by theSmbResourceargument.voidrenameTo(SmbResource dest, boolean replace)Changes the name of the file thisSmbResourcerepresents to the name designated by theSmbResourceargument.SmbResourceresolve(String name)Fetch a child resourcevoidsetAttributes(int attrs)Set the attributes of this file.voidsetCreateTime(long time)Set the create time of the file.voidsetFileTimes(long createTime, long lastLastModified, long lastLastAccess)Set the create, last modified and last access time of the file.voidsetLastAccess(long time)Set the last access time of the file.voidsetLastModified(long time)Set the last modified time of the file.voidsetReadOnly()Make this file read-only.voidsetReadWrite()Turn off the read-only attribute of this file.SmbWatchHandlewatch(int filter, boolean recursive)Creates a directory watch The server will notify the client when there are changes to the directories contents
-
-
-
メソッドの詳細
-
getLocator
SmbResourceLocator getLocator()
Gets the file locator for this file The file locator provides details about- 戻り値:
- the fileLocator
-
getContext
CIFSContext getContext()
The context this file was opened with- 戻り値:
- the context associated with this file
-
getName
String getName()
Returns the last component of the target URL. This will effectively be the name of the file or directory represented by thisSmbResourceor in the case of URLs that only specify a server or workgroup, the server or workgroup will be returned. The name of the root URLsmb://is alsosmb://. If this SmbResource refers to a workgroup, server, share, or directory, the name will include a trailing slash '/' so that composing new SmbResources will maintain the trailing slash requirement.- 戻り値:
- The last component of the URL associated with this SMB
resource or
smb://if the resource issmb://itself.
-
getType
int getType() throws CIFSExceptionReturns type of of object this SmbResource represents.- 戻り値:
- TYPE_FILESYSTEM, TYPE_WORKGROUP, TYPE_SERVER, TYPE_SHARE, TYPE_PRINTER, TYPE_NAMED_PIPE, or TYPE_COMM.
- 例外:
CIFSException
-
exists
boolean exists() throws CIFSExceptionTests to see if the SMB resource exists. If the resource refers only to a server, this method determines if the server exists on the network and is advertising SMB services. If this resource refers to a workgroup, this method determines if the workgroup name is valid on the local SMB network. If thisSmbResourcerefers to the rootsmb://resourcetrueis always returned. If thisSmbResourceis a traditional file or directory, it will be queried for on the specified server as expected.- 戻り値:
trueif the resource exists or is alive orfalseotherwise- 例外:
CIFSException
-
resolve
SmbResource resolve(String name) throws CIFSException
Fetch a child resource- パラメータ:
name-- 戻り値:
- the child resource
- 例外:
CIFSException
-
fileIndex
long fileIndex() throws CIFSExceptionGet the file index- 戻り値:
- server side file index, 0 if unavailable
- 例外:
CIFSException
-
getAttributes
int getAttributes() throws CIFSExceptionReturn the attributes of this file. Attributes are represented as a bitset that must be masked with ATTR_* constants to determine if they are set or unset. The value returned is suitable for use with the setAttributes() method.- 戻り値:
- the ATTR_* attributes associated with this file
- 例外:
CIFSException
-
isHidden
boolean isHidden() throws CIFSExceptionTests to see if the file this SmbResource represents is marked as hidden. This method will also return true for shares with names that end with '$' such asIPC$orC$.- 戻り値:
trueif theSmbResourceis marked as being hidden- 例外:
CIFSException
-
isFile
boolean isFile() throws CIFSExceptionTests to see if the file thisSmbResourcerepresents is not a directory.- 戻り値:
trueif thisSmbResourceis not a directory- 例外:
CIFSException
-
isDirectory
boolean isDirectory() throws CIFSExceptionTests to see if the file thisSmbResourcerepresents is a directory.- 戻り値:
trueif thisSmbResourceis a directory- 例外:
CIFSException
-
canWrite
boolean canWrite() throws CIFSExceptionTests to see if the file thisSmbResourcerepresents exists and is not marked read-only. By default, resources are considered to be read-only and therefore forsmb://,smb://workgroup/, andsmb://server/resources will be read-only.- 戻り値:
trueif the resource exists is not marked read-only- 例外:
CIFSException
-
canRead
boolean canRead() throws CIFSExceptionTests to see if the file thisSmbResourcerepresents can be read. Because any file, directory, or other resource can be read if it exists, this method simply calls theexistsmethod.- 戻り値:
trueif the file is read-only- 例外:
CIFSException
-
setReadWrite
void setReadWrite() throws CIFSExceptionTurn off the read-only attribute of this file. This is shorthand for setAttributes( getAttributes() & ~ATTR_READONLY ).- 例外:
CIFSException
-
setReadOnly
void setReadOnly() throws CIFSExceptionMake this file read-only. This is shorthand for setAttributes( getAttributes() | ATTR_READ_ONLY ).- 例外:
CIFSException
-
setAttributes
void setAttributes(int attrs) throws CIFSExceptionSet the attributes of this file. Attributes are composed into a bitset by bitwise ORing the ATTR_* constants. Setting the value returned by getAttributes will result in both files having the same attributes.- パラメータ:
attrs- attribute flags- 例外:
CIFSException
-
setFileTimes
void setFileTimes(long createTime, long lastLastModified, long lastLastAccess) throws CIFSExceptionSet the create, last modified and last access time of the file. The time is specified as milliseconds from Jan 1, 1970 which is the same as that which is returned by the createTime(), lastModified(), lastAccess() methods.
This method does not apply to workgroups, servers, or shares.- パラメータ:
createTime- the create time as milliseconds since Jan 1, 1970time- the last modified time as milliseconds since Jan 1, 1970lastLastAccess- the last access time as milliseconds since Jan 1, 1970- 例外:
CIFSExceptionSmbUnsupportedOperationException- if CAP_NT_SMBS is unavailable- 関連項目:
setCreateTime(long),setLastAccess(long),setLastModified(long)
-
setLastAccess
void setLastAccess(long time) throws CIFSExceptionSet the last access time of the file. The time is specified as milliseconds from Jan 1, 1970 which is the same as that which is returned by the lastAccess() method.
This method does not apply to workgroups, servers, or shares.- パラメータ:
time- the last access time as milliseconds since Jan 1, 1970- 例外:
CIFSExceptionSmbUnsupportedOperationException- if CAP_NT_SMBS is unavailable
-
setLastModified
void setLastModified(long time) throws CIFSExceptionSet the last modified time of the file. The time is specified as milliseconds from Jan 1, 1970 which is the same as that which is returned by the lastModified() method.
This method does not apply to workgroups, servers, or shares.- パラメータ:
time- the last modified time as milliseconds since Jan 1, 1970- 例外:
CIFSException
-
setCreateTime
void setCreateTime(long time) throws CIFSExceptionSet the create time of the file. The time is specified as milliseconds from Jan 1, 1970 which is the same as that which is returned by the createTime() method.
This method does not apply to workgroups, servers, or shares.- パラメータ:
time- the create time as milliseconds since Jan 1, 1970- 例外:
CIFSExceptionSmbUnsupportedOperationException- if CAP_NT_SMBS is unavailable
-
lastAccess
long lastAccess() throws CIFSExceptionRetrieve the last acces time of the file represented by thisSmbResource- 戻り値:
- The number of milliseconds since the 00:00:00 GMT, January 1,
1970 as a
longvalue - 例外:
CIFSException
-
lastModified
long lastModified() throws CIFSExceptionRetrieve the last time the file represented by thisSmbResourcewas modified. The value returned is suitable for constructing aDateobject (i.e. seconds since Epoch 1970). Times should be the same as those reported using the properties dialog of the Windows Explorer program.- 戻り値:
- The number of milliseconds since the 00:00:00 GMT, January 1,
1970 as a
longvalue - 例外:
CIFSException
-
createTime
long createTime() throws CIFSExceptionRetrieve the time thisSmbResourcewas created. The value returned is suitable for constructing aDateobject (i.e. seconds since Epoch 1970). Times should be the same as those reported using the properties dialog of the Windows Explorer program. For Win95/98/Me this is actually the last write time. It is currently not possible to retrieve the create time from files on these systems.- 戻り値:
- The number of milliseconds since the 00:00:00 GMT, January 1,
1970 as a
longvalue - 例外:
CIFSException
-
createNewFile
void createNewFile() throws CIFSExceptionCreate a new file but fail if it already exists. The check for existence of the file and it's creation are an atomic operation with respect to other filesystem activities.- 例外:
CIFSException
-
mkdirs
void mkdirs() throws CIFSExceptionCreates a directory with the path specified by this SmbResource and any parent directories that do not exist. This method will fail when used withsmb://,smb://workgroup/,smb://server/, orsmb://server/share/URLs because workgroups, servers, and shares cannot be dynamically created (although in the future it may be possible to create shares).- 例外:
CIFSException
-
mkdir
void mkdir() throws CIFSExceptionCreates a directory with the path specified by thisSmbResource. For this method to be successful, the target must not already exist. This method will fail when used withsmb://,smb://workgroup/,smb://server/, orsmb://server/share/URLs because workgroups, servers, and shares cannot be dynamically created (although in the future it may be possible to create shares).- 例外:
CIFSException
-
getDiskFreeSpace
long getDiskFreeSpace() throws CIFSExceptionThis method returns the free disk space in bytes of the drive this share represents or the drive on which the directory or file resides. Objects other than TYPE_SHARE or TYPE_FILESYSTEM will result in 0L being returned.- 戻り値:
- the free disk space in bytes of the drive on which this file or directory resides
- 例外:
CIFSException
-
length
long length() throws CIFSExceptionReturns the length of this SmbResource in bytes. If this object is a TYPE_SHARE the total capacity of the disk shared in bytes is returned. If this object is a directory or a type other than TYPE_SHARE, 0L is returned.- 戻り値:
- The length of the file in bytes or 0 if this
SmbResourceis not a file. - 例外:
CIFSException
-
delete
void delete() throws CIFSExceptionThis method will delete the file or directory specified by thisSmbResource. If the target is a directory, the contents of the directory will be deleted as well. If a file within the directory or it's sub-directories is marked read-only, the read-only status will be removed and the file will be deleted. If the file has been opened before, it will be closed.- 例外:
CIFSException
-
copyTo
void copyTo(SmbResource dest) throws CIFSException
This method will copy the file or directory represented by this SmbResource and it's sub-contents to the location specified by the dest parameter. This file and the destination file do not need to be on the same host. This operation does not copy extended file attributes such as ACLs but it does copy regular attributes as well as create and last write times. This method is almost twice as efficient as manually copying as it employs an additional write thread to read and write data concurrently.
It is not possible (nor meaningful) to copy entire workgroups or servers.- パラメータ:
dest- the destination file or directory- 例外:
CIFSException
-
renameTo
void renameTo(SmbResource dest) throws CIFSException
Changes the name of the file thisSmbResourcerepresents to the name designated by theSmbResourceargument.
Remember:SmbResources are immutable and therefore the path associated with thisSmbResourceobject will not change). To access the renamed file it is necessary to construct a new SmbResource.- パラメータ:
dest- AnSmbResourcethat represents the new pathname- 例外:
CIFSExceptionNullPointerException- If thedestargument isnull
-
renameTo
void renameTo(SmbResource dest, boolean replace) throws CIFSException
Changes the name of the file thisSmbResourcerepresents to the name designated by theSmbResourceargument.
Remember:SmbResources are immutable and therefore the path associated with thisSmbResourceobject will not change). To access the renamed file it is necessary to construct a new SmbResource.- パラメータ:
dest- AnSmbResourcethat represents the new pathnamereplace- Whether an existing destination file should be replaced (only supported with SMB2)- 例外:
CIFSExceptionNullPointerException- If thedestargument isnull
-
watch
SmbWatchHandle watch(int filter, boolean recursive) throws CIFSException
Creates a directory watch The server will notify the client when there are changes to the directories contents- パラメータ:
filter- see constants inFileNotifyInformationrecursive- whether to also watch subdirectories- 戻り値:
- watch context, needs to be closed when finished
- 例外:
CIFSException
-
getOwnerGroup
SID getOwnerGroup() throws IOException
Return the resolved owner group SID for this file or directory- 戻り値:
- the owner group SID,
nullif not present - 例外:
IOException
-
getOwnerGroup
SID getOwnerGroup(boolean resolve) throws IOException
Return the owner group SID for this file or directory- パラメータ:
resolve- whether to resolve the group name- 戻り値:
- the owner group SID,
nullif not present - 例外:
IOException
-
getOwnerUser
SID getOwnerUser() throws IOException
Return the resolved owner user SID for this file or directory- 戻り値:
- the owner user SID,
nullif not present - 例外:
IOException
-
getOwnerUser
SID getOwnerUser(boolean resolve) throws IOException
Return the owner user SID for this file or directory- パラメータ:
resolve- whether to resolve the user name- 戻り値:
- the owner user SID,
nullif not present - 例外:
IOException
-
getSecurity
ACE[] getSecurity() throws IOException
Return an array of Access Control Entry (ACE) objects representing the security descriptor associated with this file or directory.Initially, the SIDs within each ACE will not be resolved however when getType(), getDomainName(), getAccountName(), or toString() is called, the names will attempt to be resolved. If the names cannot be resolved (e.g. due to temporary network failure), the said methods will return default values (usually S-X-Y-Z strings of fragments of).
Alternatively getSecurity(true) may be used to resolve all SIDs together and detect network failures.
- 戻り値:
- array of ACEs
- 例外:
IOException
-
getSecurity
ACE[] getSecurity(boolean resolveSids) throws IOException
Return an array of Access Control Entry (ACE) objects representing the security descriptor associated with this file or directory. If no DACL is present, null is returned. If the DACL is empty, an array with 0 elements is returned.- パラメータ:
resolveSids- Attempt to resolve the SIDs within each ACE form their numeric representation to their corresponding account names.- 戻り値:
- array of ACEs
- 例外:
IOException
-
getShareSecurity
ACE[] getShareSecurity(boolean resolveSids) throws IOException
Return an array of Access Control Entry (ACE) objects representing the share permissions on the share exporting this file or directory. If no DACL is present, null is returned. If the DACL is empty, an array with 0 elements is returned.Note that this is different from calling getSecurity on a share. There are actually two different ACLs for shares - the ACL on the share and the ACL on the folder being shared. Go to Computer Management > System Tools > Shared Folders > Shares and look at the Properties for a share. You will see two tabs - one for "Share Permissions" and another for "Security". These correspond to the ACLs returned by getShareSecurity and getSecurity respectively.
- パラメータ:
resolveSids- Attempt to resolve the SIDs within each ACE form their numeric representation to their corresponding account names.- 戻り値:
- array of ACEs
- 例外:
IOException
-
openRandomAccess
SmbRandomAccess openRandomAccess(String mode, int sharing) throws CIFSException
Opens the file for random access- パラメータ:
mode- access mode (r|rw)sharing- flags indicating for which operations others may concurrently open the file- 戻り値:
- random access file, needs to be closed when finished
- 例外:
CIFSException
-
openRandomAccess
SmbRandomAccess openRandomAccess(String mode) throws CIFSException
Opens the file for random access- パラメータ:
mode- access mode (r|rw)- 戻り値:
- random access file, needs to be closed when finished
- 例外:
CIFSException
-
openOutputStream
OutputStream openOutputStream(boolean append, int openFlags, int access, int sharing) throws CIFSException
Opens an output stream writing to the file (write only, exclusive write access)- パラメータ:
append- whether to append to or truncate the inputopenFlags- flags for open operationaccess- desired file access flagssharing- flags indicating for which operations others may open the file- 戻り値:
- output stream, needs to be closed when finished
- 例外:
CIFSException
-
openOutputStream
OutputStream openOutputStream(boolean append, int sharing) throws CIFSException
Opens an output stream writing to the file (write only, exclusive write access)- パラメータ:
append- whether to append to or truncate the inputsharing- flags indicating for which operations others may open the file (FILE_SHARING_*)- 戻り値:
- output stream, needs to be closed when finished
- 例外:
CIFSException
-
openOutputStream
OutputStream openOutputStream(boolean append) throws CIFSException
Opens an output stream writing to the file (write only, read sharable)- パラメータ:
append- whether to append to or truncate the input- 戻り値:
- output stream, needs to be closed when finished
- 例外:
CIFSException
-
openOutputStream
OutputStream openOutputStream() throws CIFSException
Opens an output stream writing to the file (truncating, write only, sharable)- 戻り値:
- output stream, needs to be closed when finished
- 例外:
CIFSException
-
openInputStream
InputStream openInputStream(int flags, int access, int sharing) throws CIFSException
Opens an input stream reading the file (read only)- パラメータ:
flags- open flagsaccess- desired access flagssharing- flags indicating for which operations others may open the file (FILE_SHARING_*)- 戻り値:
- input stream, needs to be closed when finished
- 例外:
CIFSException
-
openInputStream
InputStream openInputStream(int sharing) throws CIFSException
Opens an input stream reading the file (read only)- パラメータ:
sharing- flags indicating for which operations others may open the file (FILE_SHARING_*)- 戻り値:
- input stream, needs to be closed when finished
- 例外:
CIFSException
-
openInputStream
InputStream openInputStream() throws CIFSException
Opens an input stream reading the file (read only, sharable)- 戻り値:
- input stream, needs to be closed when finished
- 例外:
CIFSException
-
close
void close()
Close/release the file This releases all resources that this file holds. If not using strict mode this is currently a no-op.- 定義:
closeインタフェース内AutoCloseable- 関連項目:
AutoCloseable.close()
-
children
CloseableIterator<SmbResource> children() throws CIFSException
Fetch all children- 戻り値:
- an iterator over the child resources
- 例外:
CIFSException
-
children
CloseableIterator<SmbResource> children(String wildcard) throws CIFSException
Fetch children matching pattern, server-side filteringThe wildcard expression may consist of two special meta characters in addition to the normal filename characters. The '*' character matches any number of characters in part of a name. If the expression begins with one or more '?'s then exactly that many characters will be matched whereas if it ends with '?'s it will match that many characters or less.
Wildcard expressions will not filter workgroup names or server names.
- パラメータ:
wildcard-- 戻り値:
- an iterator over the child resources
- 例外:
CIFSException
-
children
CloseableIterator<SmbResource> children(ResourceNameFilter filter) throws CIFSException
- パラメータ:
filter- filter acting on file names- 戻り値:
- an iterator over the child resources
- 例外:
CIFSException- 関連項目:
for a more efficient way to do this when a pattern on the filename is sufficient for filtering
-
children
CloseableIterator<SmbResource> children(ResourceFilter filter) throws CIFSException
- パラメータ:
filter- filter acting on SmbResource instances- 戻り値:
- an iterator over the child resources
- 例外:
CIFSException- 関連項目:
for a more efficient way to do this when a pattern on the filename is sufficient for filtering
-
-