Вы не загружаете контент.
Если вы посмотрите в исходном коде:
/**
* Returns the file's content.
*/
public FileContent getContent() throws FileSystemException
{
synchronized (fs)
{
attach();
if (content == null)
{
content = new DefaultFileContent(this, getFileContentInfoFactory());
}
return content;
}
}
вызов getContent просто возвращает реализацию объекта и получает такие атрибуты, как размер, измененные даты, в основном, это извлекается при исследовании удаленной папки (каждый протокол отличается, но, например, при указании папки FTP вы получаете все атрибуты файлов).
Для SFTP это то, что вы на самом деле называете:
protected long doGetLastModifiedTime() throws Exception
{
if (attrs == null
|| (attrs.getFlags() & SftpATTRS.SSH_FILEXFER_ATTR_ACMODTIME) == 0)
{
throw new FileSystemException(
"vfs.provider.sftp/unknown-modtime.error");
}
return attrs.getMTime() * 1000L;
}
Я согласен, присвоение имен сбивает с толку и подразумевает, что контент извлекается при вызове getContent, но на самом деле это не так.