Jusqu'à présent j'avais été en utilisant le code suivant dans le fichier ftp d'un endroit à l'autre: -FTP le fichier dans un emplacement de dossier spécifique
FTPUploader.java
public class FTPUploader {
private URLConnection remoteConnection = null;
public void connect(String userName, String hostName, String password,
String remoteFile) {
try {
URL url = new URL("ftp://" + userName + ":" + password + "@"
+ hostName + "/" + remoteFile + ";type=i");
remoteConnection = url.openConnection();
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
public void uploadFile(String fileName) {
try {
InputStream inputStream = new FileInputStream(fileName);
BufferedInputStream read = new BufferedInputStream(inputStream);
OutputStream out = remoteConnection.getOutputStream();
byte[] buffer = new byte[1024];
int readCount = 0;
while ((readCount = read.read(buffer)) > 0) {
out.write(buffer, 0, readCount);
}
out.flush();
out.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Maintenant, le problème, la machine où je me connecte avec le nom d'utilisateur/mot de passe, ouvert à un endroit fixe. J'utilise la machine Linux pour tester. Supposons que je me connecte avec abc/123456, automatiquement il me faut /local/abc
emplacement, où je peux écrire un fichier.
Maintenant, je veux FTP le fichier à un autre emplacement comme /local/abc/folder1
, maintenant comment faire cela, après avoir apporté quelques modifications dans le code ci-dessus.
Merci
+1. Apache FTPClient est un paquet très pratique, et m'a été utile plusieurs fois. – MByD