【急】请问一下一个类中的两个平级方法,不用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.去调用

0
1
慕函数0602639
谢谢,基础有问题,搞几个静态非静态的来试一下是这样的
2018-07-01
共1条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程