Difference between revisions of "Home Library FTPClient"
(→Usage) |
(→Upload a file) |
||
(38 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
This library has following features: | This library has following features: | ||
* '''Current Directory''': returns the pathname of the current working directory. | * '''Current Directory''': returns the pathname of the current working directory. | ||
− | * '''Change Directory''': to | + | * '''Change Directory''': to changes the current working directory. |
+ | * '''Change Directory Up''': to changes the current working directory to the parent one. | ||
* '''Create Directory''': to create a directory in the root or in a subfolder. | * '''Create Directory''': to create a directory in the root or in a subfolder. | ||
* '''List Directory''': to list the content of a directory. | * '''List Directory''': to list the content of a directory. | ||
Line 32: | Line 33: | ||
= Usage = | = Usage = | ||
== Prerequisites == | == Prerequisites == | ||
− | Home Library FTPClient is | + | Home Library FTPClient is Java library, you only need a Java 7 JDK. |
− | Download the | + | === Download the library === |
+ | The library is available here: | ||
+ | * [http://maven.research-infrastructures.eu:8081/nexus/content/repositories/gcube-snapshots/org/gcube/data/access/home-library-ftpclient/1.0.0-SNAPSHOT/ home-library-ftpclient] | ||
+ | Download the jar to your local repository and add its dependencies: | ||
+ | * [http://central.maven.org/maven2/com/thoughtworks/xstream/xstream/1.4.4/xstream-1.4.4.jar xstream-1.4.4.jar] | ||
+ | * [http://central.maven.org/maven2/junit/junit/4.10/junit-4.10.jar junit-4.10.jar] | ||
− | + | ==== Version ==== | |
+ | The current release of the Home Library FTPClient is 1.0.0. | ||
− | == | + | === Maven Artifact === |
+ | |||
+ | The Home Library FTPClient library is available as a Maven artifact. | ||
+ | |||
+ | To include it in your project, add this dependency to your pom: | ||
+ | |||
+ | <source lang="java"> | ||
+ | <dependency> | ||
+ | <groupId>org.gcube.data.access</groupId> | ||
+ | <artifactId>home-library-ftpclient</artifactId> | ||
+ | <version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version> | ||
+ | </dependency> | ||
+ | </source> | ||
+ | |||
+ | == FTPClient == | ||
A FTPClient is created with: | A FTPClient is created with: | ||
Line 46: | Line 67: | ||
</source> | </source> | ||
− | == Run the test == | + | === Run the test === |
To check the correct behavior of all features: | To check the correct behavior of all features: | ||
<source lang="java"> | <source lang="java"> | ||
− | + | void test() | |
+ | </source> | ||
+ | |||
+ | Example: | ||
+ | <source lang="java"> | ||
client.test(); | client.test(); | ||
</source> | </source> | ||
− | == Current Directory == | + | === Current Directory === |
To know the current working directory: | To know the current working directory: | ||
Line 60: | Line 85: | ||
</source> | </source> | ||
− | + | Example: | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
− | |||
client.currentDirectory(); | client.currentDirectory(); | ||
</source> | </source> | ||
− | == Change directory == | + | === Change directory === |
To changes the current working directory. | To changes the current working directory. | ||
Line 76: | Line 101: | ||
* '''path''': the path to the new working directory. | * '''path''': the path to the new working directory. | ||
− | + | ||
+ | Example: | ||
+ | |||
<source lang="java"> | <source lang="java"> | ||
− | |||
String mySubFolder = .. | String mySubFolder = .. | ||
client.changeDirectory(mySubFolder); | client.changeDirectory(mySubFolder); | ||
</source> | </source> | ||
− | == Change directory up== | + | === Change directory up === |
To changes the current working directory to the parent one. | To changes the current working directory to the parent one. | ||
Line 90: | Line 116: | ||
</source> | </source> | ||
− | + | Example: | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
− | |||
client.changeDirectoryUp(); | client.changeDirectoryUp(); | ||
</source> | </source> | ||
− | == Create a directory == | + | === Create a directory === |
To create a new remote directory in the current working one. | To create a new remote directory in the current working one. | ||
Line 107: | Line 133: | ||
* '''description''': the description for the new directory. | * '''description''': the description for the new directory. | ||
− | + | ||
+ | Example: | ||
+ | |||
<source lang="java"> | <source lang="java"> | ||
− | + | String myDir = .. | |
− | client. | + | String description = .. |
+ | client.createDirectory(myDir, description); | ||
</source> | </source> | ||
− | == Upload a file == | + | === Upload a file === |
To upload a file, if it does not already exist: | To upload a file, if it does not already exist: | ||
<source lang="java"> | <source lang="java"> | ||
Line 120: | Line 149: | ||
Where: | Where: | ||
− | * '''file''': the file to upload | + | * '''file''': the file to upload |
* '''name''': a name for the file | * '''name''': a name for the file | ||
− | * '''description''': a description for the file | + | * '''description''': a description for the file |
+ | |||
+ | OR | ||
+ | |||
+ | To upload an array of bytes that represents a file: | ||
+ | <source lang="java"> | ||
+ | void upload(byte[] bFile, String name, String description) | ||
+ | </source> | ||
+ | |||
+ | Where: | ||
+ | * '''bFile''': an array of bytes that represents a file | ||
+ | * '''name''': a name for the file | ||
+ | * '''description''': a description for the file | ||
+ | |||
+ | |||
+ | Example: | ||
− | |||
<source lang="java"> | <source lang="java"> | ||
− | |||
File myFile = .. | File myFile = .. | ||
client.upload(myFile, myFile.getName(), "my new file"); | client.upload(myFile, myFile.getName(), "my new file"); | ||
</source> | </source> | ||
− | == List a directory == | + | === List a directory === |
To list the content of the current directory: | To list the content of the current directory: | ||
<source lang="java"> | <source lang="java"> | ||
Line 137: | Line 179: | ||
</source> | </source> | ||
− | + | Example: | |
+ | |||
<source lang="java"> | <source lang="java"> | ||
− | |||
FTPFile[] myFiles = client.list(); | FTPFile[] myFiles = client.list(); | ||
</source> | </source> | ||
− | == Remove files == | + | FTPFile represents the files in a remote FTP directory, as described in [[#FTPFile | FTPFile]]. |
+ | |||
+ | === Remove files === | ||
To remove files: | To remove files: | ||
<source lang="java"> | <source lang="java"> | ||
Line 152: | Line 196: | ||
* '''path''': the path of the file to remove. | * '''path''': the path of the file to remove. | ||
− | + | ||
+ | Example: | ||
<source lang="java"> | <source lang="java"> | ||
− | |||
String myFilename = .. | String myFilename = .. | ||
client.deleteFile(myFilename); | client.deleteFile(myFilename); | ||
</source> | </source> | ||
− | == Remove directories == | + | === Remove directories === |
To remove directories: | To remove directories: | ||
<source lang="java"> | <source lang="java"> | ||
Line 169: | Line 213: | ||
* '''path''': the path of the directory to remove. | * '''path''': the path of the directory to remove. | ||
− | + | ||
+ | Example: | ||
<source lang="java"> | <source lang="java"> | ||
Line 175: | Line 220: | ||
String myDir = .. | String myDir = .. | ||
client.deleteDirectory(myDir); | client.deleteDirectory(myDir); | ||
+ | </source> | ||
+ | |||
+ | == FTPFile == | ||
+ | |||
+ | A FTPFile represents the files in a remote FTP directory. | ||
+ | |||
+ | === Get Path === | ||
+ | |||
+ | To get the path of the current file or folder: | ||
+ | <source lang="java"> | ||
+ | String getPath() | ||
+ | </source> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <source lang="java"> | ||
+ | FTPFile file = .. | ||
+ | file.getPath(); | ||
+ | </source> | ||
+ | |||
+ | === Get Name === | ||
+ | |||
+ | To get the name of the current file or folder | ||
+ | <source lang="java"> | ||
+ | String getName() | ||
+ | </source> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <source lang="java"> | ||
+ | FTPFile file = .. | ||
+ | file.getName(); | ||
+ | </source> | ||
+ | |||
+ | === Is Folder === | ||
+ | |||
+ | To know if the current file is a folder: | ||
+ | <source lang="java"> | ||
+ | Boolean isFolder() | ||
+ | </source> | ||
+ | |||
+ | Example: | ||
+ | |||
+ | <source lang="java"> | ||
+ | FTPFile file = .. | ||
+ | file.isFolder(); | ||
</source> | </source> |
Latest revision as of 17:33, 4 May 2016
Introduction
Home Library FTPClient is a Java library providing a simple interface to Home Library WebApp.
This library has following features:
- Current Directory: returns the pathname of the current working directory.
- Change Directory: to changes the current working directory.
- Change Directory Up: to changes the current working directory to the parent one.
- Create Directory: to create a directory in the root or in a subfolder.
- List Directory: to list the content of a directory.
- Upload file: to upload a file in a directory.
- Remove files and folders: to remove a file or a directory (including subdirectories).
- Test: a simple test to check the correct behavior of the features above.
The following sections will discuss each of these commands in turn, and discuss how to use them with Home Library FTPClient.
Configuration File
Home Library CLI is equipped with a simple configuration file to set the parameters and initial settings.
The fields are:
- URL_REPOSITORY: the URL of Home Library WebApp.
- USERNAME: username to connect to Home Library WebApp.
- PASSWORD: password to connect to Home Library WebApp.
- LOGIN: the portal login of the user who is using the library.
- ROOT_PATH : the ROOT of the VRE folder where the files and directory will be created.
The Configuration File cannot be modified by the final user, but it allows to use the CLI in different context.
Usage
Prerequisites
Home Library FTPClient is Java library, you only need a Java 7 JDK.
Download the library
The library is available here:
Download the jar to your local repository and add its dependencies:
Version
The current release of the Home Library FTPClient is 1.0.0.
Maven Artifact
The Home Library FTPClient library is available as a Maven artifact.
To include it in your project, add this dependency to your pom:
<dependency> <groupId>org.gcube.data.access</groupId> <artifactId>home-library-ftpclient</artifactId> <version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version> </dependency>
FTPClient
A FTPClient is created with:
FTPClient client = new FTPClient();
Run the test
To check the correct behavior of all features:
void test()
Example:
client.test();
Current Directory
To know the current working directory:
public String currentDirectory()
Example:
client.currentDirectory();
Change directory
To changes the current working directory.
void changeDirectory(String path)
Where:
- path: the path to the new working directory.
Example:
String mySubFolder = .. client.changeDirectory(mySubFolder);
Change directory up
To changes the current working directory to the parent one.
void changeDirectoryUp()
Example:
client.changeDirectoryUp();
Create a directory
To create a new remote directory in the current working one.
void createDirectory(String directoryName, String description)
Where:
- directoryName: the name of the new folder.
- description: the description for the new directory.
Example:
String myDir = .. String description = .. client.createDirectory(myDir, description);
Upload a file
To upload a file, if it does not already exist:
void upload(File file, String name, String description)
Where:
- file: the file to upload
- name: a name for the file
- description: a description for the file
OR
To upload an array of bytes that represents a file:
void upload(byte[] bFile, String name, String description)
Where:
- bFile: an array of bytes that represents a file
- name: a name for the file
- description: a description for the file
Example:
File myFile = .. client.upload(myFile, myFile.getName(), "my new file");
List a directory
To list the content of the current directory:
FTPFile[] list()
Example:
FTPFile[] myFiles = client.list();
FTPFile represents the files in a remote FTP directory, as described in FTPFile.
Remove files
To remove files:
void deleteFile(String path)
Where:
- path: the path of the file to remove.
Example:
String myFilename = .. client.deleteFile(myFilename);
Remove directories
To remove directories:
void deleteDirectory(String path)
Where:
- path: the path of the directory to remove.
Example:
FTPClient client = .. String myDir = .. client.deleteDirectory(myDir);
FTPFile
A FTPFile represents the files in a remote FTP directory.
Get Path
To get the path of the current file or folder:
String getPath()
Example:
FTPFile file = .. file.getPath();
Get Name
To get the name of the current file or folder
String getName()
Example:
FTPFile file = .. file.getName();
Is Folder
To know if the current file is a folder:
Boolean isFolder()
Example:
FTPFile file = .. file.isFolder();