publicString download(String ftpUrl,String sfzh){//ftpUrl :文件夹路径 afzh:图片路径
FTPClient ftpClient = newFTPClient();
InputStream inputStream= null;
String re=null;try{
ftpClient.connect(ftp_ip,ftp_port);//ip地址,端口号
ftpClient.login(ftp_username, ftp_password);//账户,密码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//是否成功登录服务器
int reply =ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
}//跳转到指定目录
ftpClient.changeWorkingDirectory(ftpUrl);//5.遍历下载的目录
FTPFile[] fs =ftpClient.listFiles();for(FTPFile ff : fs){//解决中文乱码问题,两次解码
byte[] bytes=ff.getName().getBytes("iso-8859-1");
String fileName=new String(bytes,"utf-8");if(sfzh.equals(fileName)){
inputStream=ftpClient.retrieveFileStream(fileName);
}
}if (inputStream != null) {byte[] data=null;
ByteArrayOutputStream outStream=newByteArrayOutputStream();
data=new byte[inputStream.available()];int len=0;while((len=inputStream.read(data))!=-1){
outStream.write(data,0,len);
}
data=outStream.toByteArray();
Encoder encoder=Base64.getEncoder();
re=encoder.encodeToString(data);
}
}catch(Exception e) {
e.printStackTrace();
}finally{if(ftpClient.isConnected()){try{
ftpClient.disconnect();
}catch(IOException e){
e.printStackTrace();
}
}if(null !=inputStream){try{
inputStream.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}returnre;
}