本文整理匯總了Java中jcifs.smb.SmbFile.canRead方法的典型用法代碼示例。如果您正苦於以下問題:Java SmbFile.canRead方法的具體用法?Java SmbFile.canRead怎麽用?Java SmbFile.canRead使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類jcifs.smb.SmbFile
的用法示例。
在下文中一共展示了SmbFile.canRead方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: performListing
import jcifs.smb.SmbFile; //導入方法依賴的package包/類
private Set<SmbFile> performListing(final SmbFile directory2, final boolean recurseSubdirectories) throws SmbException {
if (!directory2.canRead() || !directory2.canWrite()) {
throw new IllegalStateException("Directory '" + directory2 + "' does not have sufficient permissions (i.e., not writable and readable)");
}
final Set<SmbFile> queue = new HashSet<SmbFile>();
if (!directory2.exists()) {
return queue;
}
final SmbFile[] children = directory2.listFiles();
if (children == null) {
return queue;
}
for (final SmbFile child : children) {
if (child.isDirectory()) {
if (recurseSubdirectories) {
queue.addAll(performListing(child, recurseSubdirectories));
}
} else {
queue.add(child);
}
}
return queue;
}
示例2: checkAccess
import jcifs.smb.SmbFile; //導入方法依賴的package包/類
/**
* Checks access to file under the provided {@link SMBPath}.
*
* @param path {@link SMBPath} for which access should be checked.
* @param modes AccessModes that should be checked. Onl yREAD and WRITE are supported.
*
* @throws NoSuchFileException If file or folder specified by {@link SMBPath} does not exist.
* @throws AccessDeniedException If requested access cannot be provided for file or folder under {@link SMBPath}.
* @throws IllegalArgumentException If provided path is not a {@link SMBPath} instance.
* @throws IOException If checking accessfails for some reason.
*/
@Override
public void checkAccess(Path path, AccessMode... modes) throws IOException {
SmbFile smbFile = SMBPath.fromPath(path).getSmbFile();
/* First check if file exists. */
if (!smbFile.exists()) throw new NoSuchFileException("The specified SMB resource does not exist.");
/* Determin which attributes to check. */
boolean checkRead = false;
boolean checkWrite = false;
for (AccessMode mode : modes) {
if (mode.equals(AccessMode.READ)) checkRead = true;
if (mode.equals(AccessMode.WRITE)) checkWrite = true;
}
/* Perform necessary checks. */
if (checkRead && !smbFile.canRead()) throw new AccessDeniedException("The specified SMB resource is not readable.");
if (checkWrite && !smbFile.canWrite()) throw new AccessDeniedException("The specified SMB resource is not writable.");
}