当前位置: 首页>>代码示例>>Java>>正文


Java SftpATTRS.getSize方法代码示例

本文整理汇总了Java中com.jcraft.jsch.SftpATTRS.getSize方法的典型用法代码示例。如果您正苦于以下问题:Java SftpATTRS.getSize方法的具体用法?Java SftpATTRS.getSize怎么用?Java SftpATTRS.getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.jcraft.jsch.SftpATTRS的用法示例。


在下文中一共展示了SftpATTRS.getSize方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createStatInfo

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
private StatInfo createStatInfo(String dirName, String baseName, SftpATTRS attrs, ChannelSftp cftp) throws SftpException {
    String linkTarget = null;
    if (attrs.isLink()) {
        String path = dirName + '/' + baseName;
        RemoteStatistics.ActivityID activityID = RemoteStatistics.startChannelActivity("readlink", path); // NOI18N
        try {
            if (LOG.isLoggable(Level.FINE)) {
                LOG.log(Level.FINE, "performing readlink {0}", path);
            }
            linkTarget = cftp.readlink(path);
        } finally {
            RemoteStatistics.stopChannelActivity(activityID);
        }
    }
    Date lastModified = new Date(attrs.getMTime() * 1000L);
    StatInfo result = new FileInfoProvider.StatInfo(baseName, attrs.getUId(), attrs.getGId(), attrs.getSize(),
            attrs.isDir(), attrs.isLink(), linkTarget, attrs.getPermissions(), lastModified);
    return result;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:20,代码来源:SftpSupport.java

示例2: getFileStatus

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
/**
 * Convert the file information in LsEntry to a {@link FileStatus} object. *
 *
 * @param sftpFile
 * @param parentPath
 * @return file status
 * @throws IOException
 */
private FileStatus getFileStatus(ChannelSftp channel, LsEntry sftpFile,
    Path parentPath) throws IOException {

  SftpATTRS attr = sftpFile.getAttrs();
  long length = attr.getSize();
  boolean isDir = attr.isDir();
  boolean isLink = attr.isLink();
  if (isLink) {
    String link = parentPath.toUri().getPath() + "/" + sftpFile.getFilename();
    try {
      link = channel.realpath(link);

      Path linkParent = new Path("/", link);

      FileStatus fstat = getFileStatus(channel, linkParent);
      isDir = fstat.isDirectory();
      length = fstat.getLen();
    } catch (Exception e) {
      throw new IOException(e);
    }
  }
  int blockReplication = 1;
  // Using default block size since there is no way in SFTP channel to know of
  // block sizes on server. The assumption could be less than ideal.
  long blockSize = DEFAULT_BLOCK_SIZE;
  long modTime = attr.getMTime() * 1000; // convert to milliseconds
  long accessTime = 0;
  FsPermission permission = getPermissions(sftpFile);
  // not be able to get the real user group name, just use the user and group
  // id
  String user = Integer.toString(attr.getUId());
  String group = Integer.toString(attr.getGId());
  Path filePath = new Path(parentPath, sftpFile.getFilename());

  return new FileStatus(length, isDir, blockReplication, blockSize, modTime,
      accessTime, permission, user, group, filePath.makeQualified(
          this.getUri(), this.getWorkingDirectory()));
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:47,代码来源:SFTPFileSystem.java

示例3: SFTPFile2

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
public SFTPFile2(SftpATTRS stat, String filename, Uri uri) {
    if (filename == null){
        throw new IllegalArgumentException("filename cannot be null");
    }
    if (uri == null) {
        throw new IllegalArgumentException("uri cannot be null");
    }

    mUriString = uri.toString();
    mName = filename;
    mIsDirectory = stat.isDir();
    mIsFile = !stat.isDir();
    mLastModified = stat.getMTime();
    //TODO : permissions
    mCanRead = true;
    mCanWrite = true;
    mLength = stat.getSize();
}
 
开发者ID:archos-sa,项目名称:aos-FileCoreLibrary,代码行数:19,代码来源:SFTPFile2.java

示例4: LsEntry2EncFSFileInfo

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
private EncFSFileInfo LsEntry2EncFSFileInfo(String parentPath, LsEntry file){
	EncFSFileInfo result;
	try {
		String name = file.getFilename();

		SftpATTRS attrs = file.getAttrs();
           long mtime = attrs.getMTime();		
           boolean isDir = attrs.isDir();
           long length = attrs.getSize();
		String relativePath=this.getRelativePathFromAbsolutePath(parentPath);
           
		
		
		if (name.endsWith("/")) name=name.substring(0,name.length()-1);
		result = new EncFSFileInfo(name,relativePath,isDir,mtime,length,true,true,true);
		
	} catch (Exception e){
		throw new RuntimeException(e);
	}
	
	return result;
}
 
开发者ID:starn,项目名称:encdroidMC,代码行数:23,代码来源:FileProvider6.java

示例5: resolveResource

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
/**
 * This method is similar to getResource, except that the returned resource is fully initialized
 * (resolved in the sftp repository), and that the given string is a full remote path
 *
 * @param path
 *            the full remote path in the repository of the resource
 * @return a fully initialized resource, able to answer to all its methods without needing any
 *         further connection
 */
@SuppressWarnings("unchecked")
public Resource resolveResource(String path) {
    try {
        List<LsEntry> r = getSftpChannel(path).ls(getPath(path));
        if (r != null) {
            SftpATTRS attrs = r.get(0).getAttrs();
            return new BasicResource(path, true, attrs.getSize(),
                        attrs.getMTime() * MILLIS_PER_SECOND, false);
        }
    } catch (Exception e) {
        Message.debug("Error while resolving resource " + path, e);
        // silent fail, return nonexistent resource
    }

    return new BasicResource(path, false, 0, 0, false);
}
 
开发者ID:apache,项目名称:ant-ivy,代码行数:26,代码来源:SFTPRepository.java

示例6: toMetaData

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
private ExternalResourceMetaData toMetaData(URI uri, SftpATTRS attributes) {
    long lastModified = -1;
    long contentLength = -1;

    if ((attributes.getFlags() & SftpATTRS.SSH_FILEXFER_ATTR_ACMODTIME) != 0) {
        lastModified = attributes.getMTime() * 1000;
    }
    if ((attributes.getFlags() & SftpATTRS.SSH_FILEXFER_ATTR_SIZE) != 0) {
        contentLength = attributes.getSize();
    }

    return new DefaultExternalResourceMetaData(uri, lastModified, contentLength);
}
 
开发者ID:lxxlxx888,项目名称:Reer,代码行数:14,代码来源:SftpResourceAccessor.java

示例7: setFromAttrs

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
private void setFromAttrs(FileEntry fileEntry, SftpATTRS attrs) {
	fileEntry.isDirectory = attrs.isDir();
	fileEntry.canRead = true; // currently not inferred from the
								// permissions.
	fileEntry.canWrite = true; // currently not inferred from the
								// permissions.
	fileEntry.lastModifiedTime = ((long) attrs.getMTime()) * 1000;
	if (fileEntry.isDirectory)
		fileEntry.sizeInBytes = 0;
	else
		fileEntry.sizeInBytes = attrs.getSize();
}
 
开发者ID:PhilippC,项目名称:keepass2android,代码行数:13,代码来源:SftpStorage.java

示例8: getFileStatus

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
@Override
public FileStatus getFileStatus(Path path) throws IOException {
  ChannelSftp channelSftp = null;
  ChannelExec channelExec1 = null;
  ChannelExec channelExec2 = null;
  try {
    channelSftp = fsHelper.getSftpChannel();
    SftpATTRS sftpAttrs = channelSftp.stat(path.toString());
    FsPermission permission = new FsPermission((short) sftpAttrs.getPermissions());

    channelExec1 = fsHelper.getExecChannel("id " + sftpAttrs.getUId());
    String userName = IOUtils.toString(channelExec1.getInputStream());


    channelExec2 = fsHelper.getExecChannel("id " + sftpAttrs.getGId());
    String groupName = IOUtils.toString(channelExec2.getInputStream());

    FileStatus fs =
        new FileStatus(sftpAttrs.getSize(), sftpAttrs.isDir(), 1, 0l, (long) sftpAttrs.getMTime(),
            (long) sftpAttrs.getATime(), permission, StringUtils.trimToEmpty(userName),
            StringUtils.trimToEmpty(groupName), path);

    return fs;
  } catch (SftpException e) {
    throw new IOException(e);
  } finally {
    safeDisconnect(channelSftp);
    safeDisconnect(channelExec1);
    safeDisconnect(channelExec2);
  }

}
 
开发者ID:Hanmourang,项目名称:Gobblin,代码行数:33,代码来源:SftpLightWeightFileSystem.java

示例9: toMetaData

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
private ExternalResourceMetaData toMetaData(URI uri, SftpATTRS attributes) {
    long lastModified = -1;
    long contentLength = -1;

    if ((attributes.getFlags() & SftpATTRS.SSH_FILEXFER_ATTR_ACMODTIME) != 0) {
        lastModified = attributes.getMTime() * 1000;
    }
    if ((attributes.getFlags() & SftpATTRS.SSH_FILEXFER_ATTR_SIZE) != 0) {
        contentLength = attributes.getSize();
    }

    return new DefaultExternalResourceMetaData(uri, lastModified, contentLength, null, null);
}
 
开发者ID:Pushjet,项目名称:Pushjet-Android,代码行数:14,代码来源:SftpResourceAccessor.java

示例10: getFileStatus

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
@Override
public FileStatus getFileStatus(Path path) throws IOException {
  ChannelSftp channelSftp = null;
  ChannelExec channelExec1 = null;
  ChannelExec channelExec2 = null;
  try {
    channelSftp = this.fsHelper.getSftpChannel();
    SftpATTRS sftpAttrs = channelSftp.stat(HadoopUtils.toUriPath(path));
    FsPermission permission = new FsPermission((short) sftpAttrs.getPermissions());

    channelExec1 = this.fsHelper.getExecChannel("id " + sftpAttrs.getUId());
    String userName = IOUtils.toString(channelExec1.getInputStream());

    channelExec2 = this.fsHelper.getExecChannel("id " + sftpAttrs.getGId());
    String groupName = IOUtils.toString(channelExec2.getInputStream());

    FileStatus fs =
        new FileStatus(sftpAttrs.getSize(), sftpAttrs.isDir(), 1, 0l, sftpAttrs.getMTime(), sftpAttrs.getATime(),
            permission, StringUtils.trimToEmpty(userName), StringUtils.trimToEmpty(groupName), path);

    return fs;
  } catch (SftpException e) {
    throw new IOException(e);
  } finally {
    safeDisconnect(channelSftp);
    safeDisconnect(channelExec1);
    safeDisconnect(channelExec2);
  }

}
 
开发者ID:apache,项目名称:incubator-gobblin,代码行数:31,代码来源:SftpLightWeightFileSystem.java

示例11: getAttribute

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
public Attribute getAttribute(VFSNode node, SftpATTRS attrs, String name, boolean isDir, boolean update)
        throws VrsException
{

    // Optimization: only update if a SftpAttribute AND an update is
    // requested:
    if (name == null)
        return null;

    // initialize attributes if not yet fetched!
    if (attrs == null)
    {
        attrs = this.getSftpAttrs(node.getPath());
    }

    // get attributes from same holder:

    if (name.compareTo(ATTR_MODIFICATION_TIME) == 0)
    {
        return AttributeUtil.createDateFromMilliesSinceEpoch(name, getModificationTime(attrs));
    }
    else if (name.compareTo(ATTR_LASTACCESS_TIME) == 0)
    {
        return new Attribute(AttributeType.DATETIME, name, getAccessTime(attrs));
    }
    else if (name.compareTo(ATTR_FILE_SIZE) == 0)
    {
        return new Attribute(name, attrs.getSize());
    }
    else if (name.compareTo(ATTR_UNIX_USERID) == 0)
    {
        return new Attribute(name, attrs.getUId());
    }
    else if (name.compareTo(ATTR_UNIX_GROUPID) == 0)
    {
        return new Attribute(name, attrs.getGId());
    }
    else if (name.compareTo(ATTR_UNIX_FILE_MODE) == 0)
    {
        // note sftp attributes return higher value the (8)07777 (isdir and
        // islink)
        return new Attribute(name, "0" + Integer.toOctalString(attrs.getPermissions() % 07777));
    }

    return null;
}
 
开发者ID:NLeSC,项目名称:vbrowser,代码行数:47,代码来源:SftpFileSystem.java

示例12: getLength

import com.jcraft.jsch.SftpATTRS; //导入方法依赖的package包/类
public long getLength(SftpATTRS attrs)
{
    return attrs.getSize();
}
 
开发者ID:NLeSC,项目名称:vbrowser,代码行数:5,代码来源:SftpFileSystem.java


注:本文中的com.jcraft.jsch.SftpATTRS.getSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。