aureliencruz1@hotmail.comJe fais un client FTP en java.
Laa connexion à mon serveur FTP se fait très bien mais lorsque je veux transférer un fichier de mon serveur ftp vers un dossier spécifique de mon disque dur, java m'affiche :
"java.io.FileNotFoundException: C:\Documents and Settings\Administrateur\Bureau\oo (Accès refusé)"
Pour effectuer le transfert, j'utilise la fonction de FTPBEAN:
"ftp.getBinaryFile(name,"C:/Documents and Settings/Administrateur/Bureau/oo");"
POurriez vous m'indiquer d'où vient ce message et si possible, comment le résoudre.
Merci d'avance.
Mon script:
class FtpExample implements FtpObserver
{
private String name;
FtpBean ftp;
long num_of_bytes = 0;
private FtpListResult director;
public FtpExample()
{
ftp = new FtpBean();
}
public void connect(String Log, String PW)
{
try
{
ftp.ftpConnect("10.50.3.51", Login, motDePasse);
} catch(Exception e)
{
System.out.println(e);
}
}
public void close()
{
try
{
ftp.close();
} catch(Exception e)
{
System.out.println(e);
}
}
public Fichier mise_a_jour_tab()
{
Fichier tmp_fic= new Fichier();
FtpListResult ftplrs = null;
try
{
// Ouvre le dossier 'gg'dans lequel se trouve le fichier à importer'.
// Get its directory content.
ftp.setDirectory("gg/cc");
ftplrs = ftp.getDirectoryContent();
} catch(Exception e)
{
System.out.println(e);
}
// Print out the type and file name of each row.
while(ftplrs.next())
{
int type = ftplrs.getType();
if(type == FtpListResult.DIRECTORY)
System.out.print("DIR\t");
else if(type == FtpListResult.FILE)
System.out.print("FILE\t");
else if(type == FtpListResult.LINK)
System.out.print("LINK\t");
else if(type == FtpListResult.OTHERS)
System.out.print("OTHER\t");
System.out.println("Le fichier " + ftplrs.getName() + " à été enregistré sur votre disque");
getFile(ftplrs.getName());
tmp_fic.innit(ftplrs.getName());
}
return tmp_fic;
}
// Get the file.
public void getFile(String name)
{
try
{
ftp.getBinaryFile(name,"C:/Documents and Settings/Administrateur/Bureau/oo");
} catch(Exception e)
{
System.out.println(e);
}
}
public void byteRead(int bytes)
{
num_of_bytes += bytes;
System.out.println(num_of_bytes + " of bytes read already.");
}
public void byteWrite(int bytes)
{
}
}