本文整理汇总了Java中org.apache.ftpserver.ftplet.FtpFile类的典型用法代码示例。如果您正苦于以下问题:Java FtpFile类的具体用法?Java FtpFile怎么用?Java FtpFile使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FtpFile类属于org.apache.ftpserver.ftplet包,在下文中一共展示了FtpFile类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: listFiles
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public List<FtpFile> listFiles ()
{
List<FtpFile> children = new ArrayList<> ();
Iterator<Product> it = collectionService.getAuthorizedProducts (
collection.getUUID (), null).iterator ();
while (it.hasNext ())
{
Product product = it.next ();
if (product != null)
{
children.add (new FtpProductFile (super.user, collection, product));
}
}
children.add (new FtpContentDateFile (user, collection));
return children;
}
示例2: getWorkingDirectory
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public FtpFile getWorkingDirectory () throws FtpException
{
if (currentPath.contains (CONTENT_DATE))
{
return new FtpContentDateFile (user, workingCol,
pathInfo.get (DATE_YEAR), pathInfo.get(DATE_MONTH),
pathInfo.get(DATE_DAY));
}
if (workingCol == null)
{
return getHomeDirectory ();
}
else
{
return new FtpCollectionFile (user, workingCol);
}
}
示例3: getFile
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public FtpFile getFile(String file) throws FtpException {
final String working = mPath;
final String path;
if (file.charAt(0) == '/') {
path = file;
} else if ("./".equals(file) || ".".equals(file)) {
path = working;
} else {
path = working + "/" + file;
}
final FTPFile child;
if (mSaved.isEmpty()) {
child = new FTPFile(path, mOwner, mGroup, mStreamSize);
} else {
child = mSaved.remove(0);
child.setFile(path);
}
mChildren.add(child);
return child;
}
示例4: move
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
/**
* Move file object.
*/
public boolean move(final FtpFile dest) {
boolean retVal = false;
if (dest.isWritable() && isReadable()) {
File destFile = ((NativeFtpFile) dest).file;
if (destFile.exists()) {
// renameTo behaves differently on different platforms
// this check verifies that if the destination already exists,
// we fail
retVal = false;
} else {
retVal = file.renameTo(destFile);
}
}
return retVal;
}
示例5: openInputStream
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
/**
* Skip length and open input stream.
*/
public InputStream openInputStream(FtpIoSession session, FtpFile file,
long skipLen) throws IOException {
InputStream in;
if (session.getDataType() == DataType.ASCII) {
int c;
long offset = 0L;
in = new BufferedInputStream(file.createInputStream(0L));
while (offset++ < skipLen) {
if ((c = in.read()) == -1) {
throw new IOException("Cannot skip");
}
if (c == '\n') {
offset++;
}
}
} else {
in = file.createInputStream(skipLen);
}
return in;
}
示例6: format
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
/**
* @see FileFormater#format(FtpFile)
*/
public String format(FtpFile file) {
StringBuilder sb = new StringBuilder();
sb.append(getPermission(file));
sb.append(DELIM);
sb.append(DELIM);
sb.append(DELIM);
sb.append(String.valueOf(file.getLinkCount()));
sb.append(DELIM);
sb.append(file.getOwnerName());
sb.append(DELIM);
sb.append(file.getGroupName());
sb.append(DELIM);
sb.append(getLength(file));
sb.append(DELIM);
sb.append(getLastModified(file));
sb.append(DELIM);
sb.append(file.getName());
sb.append(NEWLINE);
return sb.toString();
}
示例7: traverseFiles
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
private String traverseFiles(final List<? extends FtpFile> files,
final FileFilter filter, final FileFormater formater,
boolean matchDirs) {
StringBuilder sb = new StringBuilder();
for (FtpFile file : files) {
if (file == null) {
continue;
}
if (filter == null || filter.accept(file)) {
if (file.isDirectory() == matchDirs) {
sb.append(formater.format(file));
}
}
}
return sb.toString();
}
示例8: listFiles
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
public String listFiles(final ListArgument argument,
final FileSystemView fileSystemView, final FileFormater formater)
throws IOException {
StringBuilder sb = new StringBuilder();
// get all the file objects
List<? extends FtpFile> files = listFiles(fileSystemView, argument.getFile());
if (files != null) {
FileFilter filter = null;
if (!argument.hasOption('a')) {
filter = new VisibleFileFilter();
}
if (argument.getPattern() != null) {
filter = new RegexFileFilter(argument.getPattern(), filter);
}
sb.append(traverseFiles(files, filter, formater));
}
return sb.toString();
}
示例9: getUniqueFile
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
/**
* Get unique file object.
*/
//TODO may need synchronization
protected FtpFile getUniqueFile(FtpIoSession session, FtpFile oldFile)
throws FtpException {
FtpFile newFile = oldFile;
FileSystemView fsView = session.getFileSystemView();
String fileName = newFile.getAbsolutePath();
while (newFile.doesExist()) {
newFile = fsView.getFile(fileName + '.'
+ System.currentTimeMillis());
if (newFile == null) {
break;
}
}
return newFile;
}
示例10: testSingleDir
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
public void testSingleDir() {
FtpFile dir = new MockFileObject() {
@Override
public int getLinkCount() {
return 3;
}
@Override
public boolean isDirectory() {
return true;
}
@Override
public boolean isFile() {
return false;
}
};
assertEquals(TEST_DIR_FORMAT, formater.format(dir));
}
示例11: testSingleDir
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
public void testSingleDir() {
FtpFile dir = new MockFileObject() {
@Override
public boolean isDirectory() {
return true;
}
@Override
public boolean isFile() {
return false;
}
};
assertEquals("short\r\n", formater.format(dir));
}
示例12: testSingleDir
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
public void testSingleDir() {
FtpFile dir = new MockFileObject() {
@Override
public boolean isDirectory() {
return true;
}
@Override
public boolean isFile() {
return false;
}
@Override
public long getSize() {
return 0;
}
};
// time should be in UTC
assertEquals("Size=0;Modify=20050102030405.000;Type=dir; short\r\n",
formater.format(dir));
}
示例13: listFiles
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public List<FtpFile> listFiles ()
{
List<FtpFile> children = new ArrayList<> ();
Iterator<Collection> collectionIterator =
super.collectionService.getAuthorizedCollection (user).iterator ();
// retrieve collection directory
while (collectionIterator.hasNext ())
{
Collection collection = collectionIterator.next ();
if (collection != null)
{
children.add (new FtpCollectionFile (super.user, collection));
}
}
// retrieve product file
Iterator<Product> productIterator =
productService.getNoCollectionProducts ().iterator ();
while (productIterator.hasNext ())
{
children.add (new FtpProductFile (user, null, productIterator.next ()));
}
// view by ingestion date
children.add (new FtpContentDateFile (user, null));
return children;
}
示例14: getFile
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public FtpFile getFile (String name) throws FtpException
{
if (name.equals ("./"))
{
return getWorkingDirectory ();
}
String identifier = name.substring (0, (name.length () - 4));
Product p = productService.getProductIdentifier (identifier);
return new FtpProductFile (user, workingCol, p);
}
示例15: listFiles
import org.apache.ftpserver.ftplet.FtpFile; //导入依赖的package包/类
@Override
public List<? extends FtpFile> listFiles() {
final File[] children = mFile.listFiles();
if (children != null) {
final ArrayList<FTPFile> files = new ArrayList<>(children.length);
for (File child : children) {
files.add(new FTPFile(child.getPath(), mOwner, mGroup, mStreamSize));
}
return files;
}
return new ArrayList<>(0);
}