java上传FTP

package com.fangdi.landaudit.process.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;

import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

public class T {

 FtpClient ftpClient;
 public static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 public static String strTime = sdf.format(new Date());
 // server:服务器名字
 // user:用户名
 // password:密码
 // path:服务器上的路径
 public void connectServer(String ip, int port, String user,
   String password, String path) {
  try {
   ftpClient = new FtpClient();
   ftpClient.openServer(ip, port);
   ftpClient.login(user, password);
   System.out.println("login success!");
   if (path.length() != 0)
   createDir(path);
   ftpClient.cd(path);
   ftpClient.binary();
  } catch (IOException ex) {
   System.out.println("not login");
   System.out.println(ex);
  }
 }

 public void closeConnect() {
  try {
   ftpClient.closeServer();
   System.out.println("disconnect success");
  } catch (IOException ex) {
   System.out.println("not disconnect");
   System.out.println(ex);
  }
 }

 public void upload(InputStream is,String remotefilename) {
  try {
   TelnetOutputStream os = ftpClient.put(remotefilename);
   byte[] bytes = new byte[1024];
   int c;
   while ((c = is.read(bytes)) != -1) {
    os.write(bytes, 0, c);
   }
   System.out.println("upload success");
   is.close();
   os.close();
  } catch (IOException ex) {
   System.out.println("not upload");
   System.out.println(ex);
  }
 }

 public static void main(String agrs[]) {
  String filePath = "C:\\syoa\\wdzx97R.dot";
  String fileName = "wdzx97R.dot";
  FileInputStream is = null;
  T fu = new T();
  fu.connectServer("192.168.7.167", 21, "xxgk_sy", "xxgk_sy",
      "/SY/"+strTime);
   File file = new File(filePath);
   try {
    is = new FileInputStream(file);
   } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   fu.upload(is, fileName);
  fu.closeConnect();
 }
 
 private boolean createDir(String dir){ 
     try{ 
      ftpClient.ascii(); 
      StringTokenizer s = new StringTokenizer(dir, "/"); //sign  
      s.countTokens(); 
      String pathName = ftpClient.pwd(); 
      while(s.hasMoreElements()){ 
       pathName = pathName + "/" + (String) s.nextElement(); 
       try { 
        ftpClient.sendServer("MKD " + pathName + "\r\n"); 
       } catch (Exception e) { 
        e = null; 
        return false; 
       } 
       ftpClient.readServerResponse(); 
      } 
      ftpClient.binary(); 
      return true; 
     }catch (IOException e1){ 
      e1.printStackTrace(); 
      return false; 
     } 
  } 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值