ftpclient怎么上传文件

 时间:2026-02-14 11:43:01

1、原理就不介绍了,大家直接看代码

2、/** 

* Description: 向FTP服务器上传文件 

* @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建 

* @param url FTP服务器hostname 

* @param port FTP服务器端口 

* @param username FTP登录账号 

* @param password FTP登录密码 

* @param path FTP服务器保存目录 

* @param filename 上传到FTP服务器上的文件名 

* @param input 输入流 

* @return 成功返回true,否则返回false 

*/ 

publicstaticboolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) { 

boolean success = false; 

FTPClient ftp = new FTPClient(); 

try { 

int reply; 

ftp.connect(url, port);//连接FTP服务器 

//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 

ftp.login(username, password);//登录 

reply = ftp.getReplyCode(); 

if (!FTPReply.isPositiveCompletion(reply)) { 

ftp.disconnect(); 

return success; 

ftp.changeWorkingDirectory(path); 

ftp.storeFile(filename, input); 

  

input.close(); 

ftp.logout(); 

success = true; 

} catch (IOException e) { 

e.printStackTrace(); 

} finally { 

if (ftp.isConnected()) { 

try { 

ftp.disconnect(); 

} catch (IOException ioe) { 

return success; 

}<pre></pre> 

/**

* Description: 向FTP服务器上传文件

* @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建

* @param url FTP服务器hostname

* @param port FTP服务器端口

* @param username FTP登录账号

* @param password FTP登录密码

* @param path FTP服务器保存目录

* @param filename 上传到FTP服务器上的文件名

* @param input 输入流

* @return 成功返回true,否则返回false

*/

public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {

boolean success = false;

FTPClient ftp = new FTPClient();

try {

int reply;

ftp.connect(url, port);//连接FTP服务器

//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器

ftp.login(username, password);//登录

reply = ftp.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {

ftp.disconnect();

return success;

}

ftp.changeWorkingDirectory(path);

ftp.storeFile(filename, input); 

  

input.close();

ftp.logout();

success = true;

} catch (IOException e) {

e.printStackTrace();

} finally {

if (ftp.isConnected()) {

try {

ftp.disconnect();

} catch (IOException ioe) {

}

}

}

return success;

}

3、两个小例子:

1.将本地文件上传到FTP服务器上,代码如下:

4、@Test 

publicvoid testUpLoadFromDisk(){ 

try { 

FileInputStream in=new FileInputStream(new File("D:/test.txt")); 

boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", in); 

System.out.println(flag); 

} catch (FileNotFoundException e) { 

e.printStackTrace(); 

}<pre></pre> 

@Test

public void testUpLoadFromDisk(){

try {

FileInputStream in=new FileInputStream(new File("D:/test.txt"));

boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", in);

System.out.println(flag);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

5、2.在FTP服务器上生成一个文件,并将一个字符串写入到该文件中

6、@Test 

publicvoid testUpLoadFromString(){ 

try { 

InputStream input = new ByteArrayInputStream("test ftp".getBytes("utf-8")); 

boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", input); 

System.out.println(flag); 

} catch (UnsupportedEncodingException e) { 

e.printStackTrace(); 

}<pre></pre> 

@Test

public void testUpLoadFromString(){

try {

InputStream input = new ByteArrayInputStream("test ftp".getBytes("utf-8"));

boolean flag = uploadFile("127.0.0.1", 21, "test", "test", "D:/ftp", "test.txt", input);

System.out.println(flag);

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

  • IntelliJ IDEA中启动Tomcat内存溢出
  • vue怎么使用子组件传递数据给父组件
  • 数据报表FineReport中每页显示固定行数
  • SVN如何查看更新日志信息
  • javascript怎么判断字符串是以什么开头
  • 热门搜索
    旅游线路设计 珠穆朗玛峰旅游 民俗旅游 海南旅游景点 海岛旅游 承德旅游攻略 太原旅游职业学院 巴厘岛旅游攻略 新加坡旅游景点 桂林旅游路线