`

用sun.net.ftp.FtpClient实现简单的Java FTP 上传文件代码例子(转载)--不好判断ftp上文件是否存在

    博客分类:
  • j2ee
阅读更多
import java.io.FileInputStream;  
import java.io.IOException;  
  
import sun.net.TelnetOutputStream;  
import sun.net.ftp.FtpClient;  
/** 
 * 用sun.net.ftp.FtpClient实现简单的Java FTP 上传文件代码例子 
 * 
 * <p>Title: is a Class</p> 
 * 
 * <p>Description: 类</p> 
 * 
 * <p>Copyright: Copyright (c) 2006</p> 
 * 
 * <p>Company: sunrise</p> 
 * 
 * @author islph 
 * @version 1.0 
 */  
public class TestFtpClient {  
  
 /** 
  * @param args 
  */  
 public static void main(String[] args) {  
  // TODO 自动生成方法存根  
  FtpClient ftpClient;  
  String server = "localhost";  
  String user = "user";  
  String password = "password";  
  String path = "/home/user/file";  
  String filename = "sourcefile.txt";  
  
  try {  
   // server:FTP服务器的IP地址;user:登录FTP服务器的用户名  
   // password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径  
   ftpClient = new FtpClient();  
   ftpClient.openServer(server);  
   ftpClient.login(user, password);  
   // path是ftp服务下主目录的子目录  
   if (path.length() != 0)  
    ftpClient.cd(path);  
   // 用2进制上传  
   ftpClient.binary();  
  
   TelnetOutputStream os = null;  
   FileInputStream is = null;  
   try {  
    // "descfile.txt"用ftp上传后的新文件名  
    os = ftpClient.put("descfile.txt");  
    java.io.File file_in = new java.io.File(filename);  
    if (file_in.length() == 0) {  
     throw new Exception("上传文件为空!");  
    }  
    is = new FileInputStream(file_in);  
    byte[] bytes = new byte[1024];  
    int c;  
    while ((c = is.read(bytes)) != -1) {  
     os.write(bytes, 0, c);  
    }  
   } finally {  
    if (is != null) {  
     is.close();  
    }  
    if (os != null) {  
     os.close();  
    }  
   }  
   System.out.println("上传文件成功!");  

  } catch (Exception e) {  
   e.printStackTrace();  
  }  
 }  
}  






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics