@InterfaceAudience.Public @InterfaceStability.Stable public class FTPFileSystem extends FileSystem
A FileSystem
backed by an FTP client provided by Apache Commons Net.
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BLOCK_SIZE |
static int |
DEFAULT_BUFFER_SIZE |
static String |
E_SAME_DIRECTORY_ONLY |
static String |
FS_FTP_DATA_CONNECTION_MODE |
static String |
FS_FTP_HOST |
static String |
FS_FTP_HOST_PORT |
static String |
FS_FTP_PASSWORD_PREFIX |
static String |
FS_FTP_TRANSFER_MODE |
static String |
FS_FTP_USER_PREFIX |
static org.slf4j.Logger |
LOG |
DEFAULT_FS, FS_DEFAULT_NAME_KEY, SHUTDOWN_HOOK_PRIORITY, statistics, TRASH_PREFIX, USER_HOME_PREFIX
Constructor and Description |
---|
FTPFileSystem() |
Modifier and Type | Method and Description |
---|---|
FSDataOutputStream |
append(Path f,
int bufferSize,
Progressable progress)
This optional operation is not yet supported.
|
FSDataOutputStream |
create(Path file,
FsPermission permission,
boolean overwrite,
int bufferSize,
short replication,
long blockSize,
Progressable progress)
A stream obtained via this call must be closed before using other APIs of
this class or else the invocation will block.
|
boolean |
delete(Path file,
boolean recursive)
Delete a file.
|
protected int |
getDefaultPort()
Get the default port for this FTPFileSystem.
|
FileStatus |
getFileStatus(Path file)
Return a file status object that represents the path.
|
Path |
getHomeDirectory()
Return the current user's home directory in this FileSystem.
|
String |
getScheme()
Return the protocol scheme for the FileSystem.
|
URI |
getUri()
Returns a URI which identifies this FileSystem.
|
Path |
getWorkingDirectory()
Get the current working directory for the given FileSystem
|
void |
initialize(URI uri,
Configuration conf)
Initialize a FileSystem.
|
FileStatus[] |
listStatus(Path file)
List the statuses of the files/directories in the given path if the path is
a directory.
|
boolean |
mkdirs(Path file,
FsPermission permission)
Make the given file and all non-existent parents into
directories.
|
FSDataInputStream |
open(Path file,
int bufferSize)
Opens an FSDataInputStream at the indicated Path.
|
boolean |
rename(Path src,
Path dst)
Renames Path src to Path dst.
|
void |
setWorkingDirectory(Path newDir)
Set the current working directory for the given FileSystem.
|
addDelegationTokens, append, append, appendFile, areSymlinksEnabled, cancelDeleteOnExit, canonicalizeUri, checkPath, clearStatistics, close, closeAll, closeAllForUGI, completeLocalOutput, concat, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyFromLocalFile, copyToLocalFile, copyToLocalFile, copyToLocalFile, create, create, create, create, create, create, create, create, create, create, create, create, createFile, createNewFile, createNonRecursive, createNonRecursive, createNonRecursive, createPathHandle, createSnapshot, createSnapshot, createSymlink, delete, deleteOnExit, deleteSnapshot, enableSymlinks, exists, fixRelativePart, get, get, get, getAclStatus, getAllStatistics, getAllStoragePolicies, getBlockSize, getCanonicalServiceName, getCanonicalUri, getContentSummary, getDefaultBlockSize, getDefaultBlockSize, getDefaultReplication, getDefaultReplication, getDefaultUri, getFileBlockLocations, getFileBlockLocations, getFileChecksum, getFileChecksum, getFileLinkStatus, getFileSystemClass, getFSofPath, getGlobalStorageStatistics, getInitialWorkingDirectory, getLength, getLinkTarget, getLocal, getName, getNamed, getPathHandle, getQuotaUsage, getReplication, getServerDefaults, getServerDefaults, getStatistics, getStatistics, getStatus, getStatus, getStoragePolicy, getStorageStatistics, getTrashRoot, getTrashRoots, getUsed, getUsed, getXAttr, getXAttrs, getXAttrs, globStatus, globStatus, isDirectory, isFile, listCorruptFileBlocks, listFiles, listLocatedStatus, listLocatedStatus, listStatus, listStatus, listStatus, listStatusIterator, listXAttrs, makeQualified, mkdirs, mkdirs, modifyAclEntries, moveFromLocalFile, moveFromLocalFile, moveToLocalFile, newInstance, newInstance, newInstance, newInstanceLocal, open, open, open, primitiveCreate, primitiveMkdir, primitiveMkdir, printStatistics, processDeleteOnExit, removeAcl, removeAclEntries, removeDefaultAcl, removeXAttr, rename, renameSnapshot, resolveLink, resolvePath, setAcl, setDefaultUri, setDefaultUri, setOwner, setPermission, setReplication, setStoragePolicy, setTimes, setVerifyChecksum, setWriteChecksum, setXAttr, setXAttr, startLocalOutput, supportsSymlinks, truncate, unsetStoragePolicy
getConf, setConf
public static final org.slf4j.Logger LOG
public static final int DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BLOCK_SIZE
public static final String FS_FTP_USER_PREFIX
public static final String FS_FTP_HOST
public static final String FS_FTP_HOST_PORT
public static final String FS_FTP_PASSWORD_PREFIX
public static final String FS_FTP_DATA_CONNECTION_MODE
public static final String FS_FTP_TRANSFER_MODE
public static final String E_SAME_DIRECTORY_ONLY
public String getScheme()
getScheme
in class FileSystem
ftp
protected int getDefaultPort()
getDefaultPort
in class FileSystem
public void initialize(URI uri, Configuration conf) throws IOException
FileSystem
initialize
in class FileSystem
uri
- a URI whose authority section names the host, port, etc.
for this FileSystemconf
- the configurationIOException
- on any failure to initialize this instance.public FSDataInputStream open(Path file, int bufferSize) throws IOException
FileSystem
open
in class FileSystem
file
- the file name to openbufferSize
- the size of the buffer to be used.IOException
- IO failurepublic FSDataOutputStream create(Path file, FsPermission permission, boolean overwrite, int bufferSize, short replication, long blockSize, Progressable progress) throws IOException
create
in class FileSystem
file
- the file name to openpermission
- file permissionoverwrite
- if a file with this name already exists, then if true,
the file will be overwritten, and if false an error will be thrown.bufferSize
- the size of the buffer to be used.replication
- required block replication for the file.blockSize
- block sizeprogress
- the progress reporterIOException
- IO failureFileSystem.setPermission(Path, FsPermission)
public FSDataOutputStream append(Path f, int bufferSize, Progressable progress) throws IOException
append
in class FileSystem
f
- the existing file to be appended.bufferSize
- the size of the buffer to be used.progress
- for reporting progress if it is not null.IOException
- IO failurepublic boolean delete(Path file, boolean recursive) throws IOException
FileSystem
delete
in class FileSystem
file
- the path to delete.recursive
- if path is a directory and set to
true, the directory is deleted else throws an exception. In
case of a file the recursive can be set to either true or false.IOException
- IO failurepublic URI getUri()
FileSystem
getUri
in class FileSystem
public FileStatus[] listStatus(Path file) throws IOException
FileSystem
Does not guarantee to return the List of files/directories status in a sorted order.
Will not return null. Expect IOException upon access error.
listStatus
in class FileSystem
file
- given pathFileNotFoundException
- when the path does not existIOException
- see specific implementationpublic FileStatus getFileStatus(Path file) throws IOException
FileSystem
getFileStatus
in class FileSystem
file
- The path we want information fromFileNotFoundException
- when the path does not existIOException
- see specific implementationpublic boolean mkdirs(Path file, FsPermission permission) throws IOException
FileSystem
mkdirs
in class FileSystem
file
- path to createpermission
- to apply to fIOException
- IO failurepublic boolean rename(Path src, Path dst) throws IOException
FileSystem
rename
in class FileSystem
src
- path to be renameddst
- new path after renameIOException
- on failurepublic Path getWorkingDirectory()
FileSystem
getWorkingDirectory
in class FileSystem
public Path getHomeDirectory()
FileSystem
"/user/$USER/"
.getHomeDirectory
in class FileSystem
public void setWorkingDirectory(Path newDir)
FileSystem
setWorkingDirectory
in class FileSystem
newDir
- Path of new working directoryCopyright © 2018 Apache Software Foundation. All rights reserved.