【急】请问一下一个类中的两个平级方法,不用NEW FTPUtild() 在 uploadFile方法中可以直接调用ConnectServer方法?
来源:8-7 后台商品图片的springmvc上传与富文本上传ftp服务器功能开发2
慕函数0602639
2018-07-01
请问一下一个类中的两个平级方法,不用NEW FTPUtild() 在 uploadFile方法中可以直接调用ConnectServer方法?if 里面不用new 一个对象直接调用ConnectServer方法吗
package comm.mmalll.util;
import com.google.common.base.Utf8;
import org.apache.commons.net.ftp.FTPClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
/**
* Created by admin on 2018/6/30.
*/
public class FTPUtild {
private static final Logger logger =LoggerFactory.getLogger(FTPUtild.class);
//得到mmall.properties
private static String FtpIp =PropertiesUtil.getProperty("ftp.server.ip");
private static String Ftpuser =PropertiesUtil.getProperty("ftp.user");
private static String Ftppassword =PropertiesUtil.getProperty("ftp.pass");
public String ip;
public String user;
public String password;
public FTPClient ftpClient;
public int port;
//构造器
public FTPUtild (String ip,String, String user ,String password ,int port){
this.ip=ip;
this.user=user;
this.port=port;
this.password=password;
}
//写上传FTP服务器的方法给IPLM调用
//一次可传多个文件
// public boolean uploadFile(List<File> filelist) throws IOException {
// FTPUtild ftpUtild = new FTPUtild(FtpIp,Ftpuser,Ftppassword,21);
// logger.info("开始连接FTP服务器");
//boolean result=ftpUtild.uploadFile("img",filelist);
// }
public boolean uploadFile(String remotePath,List<File> filelist) throws IOException {
boolean uploaded=true;
FileInputStream fis = null;
//连接FTP服务器
//这没有new FTPUtild
if(ConnectServer(this.ip,this.user,this.password,this.port)){
//更改工作目录
try {
ftpClient.changeWorkingDirectory(remotePath);
//设置缓冲区
ftpClient.setBufferSize(1024);
//设置ENCODING
ftpClient.setControlEncoding("UTF-8");
//文件设置为二进制的文件类型
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//打开本地的被动模式j
ftpClient.enterLocalActiveMode();
//传文件
for(File fileItem : filelist){
fis=new FileInputStream(fileItem);
//存文件 参数:文件名,input流
ftpClient.storeFile(fileItem.getName(),fis);
}
}
catch (IOException e) {
logger.error("上传文件异常",e);
//当有异常的时候uplodaed要置成false,返回的时候才会看到
uploaded=false;
}
//finally里面放释放连接的代码
finally{
fis.close();
ftpClient.disconnect();
}
}
return uploaded;
}
//把连接FTP服务器在封装一下
public boolean ConnectServer(String ip,String user,String password,int port){
boolean isSuccess =false;
ftpClient =new FTPClient();
try {
ftpClient.connect(ip);
//登录
isSuccess=ftpClient.login(user,password);
} catch (IOException e) {
logger.error("链接FTP服务器异常",e);
}
//返回isSuccess到上一层
return isSuccess;
}
1回答
-
polo哦
2018-07-01
可以的呢。。本类中的方法可以直接调用本类其他方法,或者通过this.去调用
012018-07-01
相似问题