FTP服务器文件查看上传和下载

FTP服务器允许用户通过FTP客户端进行文件的查看、上传和下载。下面是具体的步骤:

1.1.下载EasyFtp Server ,并设置参数,如下所示:

再进入账号管理,设置FTP服务器允许下载/上传文件的目录,如下所示: 

 

 上传至FTP服务器

1.导入Jar包

 

 代码实现思路

创建对象:通过FTPClient创建FTP协议的客户端对象:FTPClient ftpClient = new FTPClient();
连接:通过ftpClient.connect(“ip地址”,21); 连接TCP服务器(上传本地图片)
登录:ftpClient.login()

操作(上传):
通过FileInputStream创建文件输入流,用于读取本地图片
存储前设置文件类型:ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
存储文件:
ftpClient.storeFile();
参数1:ftp服务器的存储位置(目录+文件名)
参数2:本地的文件输入流
最后一步:关闭连接

package com.apesource.yuan2;

import java.io.FileInputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;

public class demo1 {
	public static void main(String[] args) {
        //创建基于FTP协议访问文件服务器的客户端对象
		FTPClient ftpclient=new FTPClient();
		try(FileInputStream in=new FileInputStream("C:\\Users\\Pictures\\Frostpunk\\1.png");) {
            //连接服务器并验证用户名密码
			ftpclient.connect("192.168.254.123", 21);
			ftpclient.login("admin", "123456");
			//切换指定文件夹
			boolean isChange=ftpclient.changeWorkingDirectory("fengpengfei");
            //切换成功
			if(isChange) {
			//获取当前目录下的所有文件
			FTPFile[] ftpfileList=ftpclient.listFiles();
            //遍历打印所有文件信息
			for(FTPFile file:ftpfileList) {
				//解决中文乱码
				String fileName=file.getName();
				fileName=new String(fileName.getBytes("iso-8859-1"),"gb2312");
				System.out.println("文件名称:"+fileName);
				SimpleDateFormat fmt=new SimpleDateFormat("yyyy年mm月dd日");
				System.out.println("创建时间:"+fmt.format(file.getTimestamp().getTime()));
				System.out.println("文件大小:"+file.getSize()+"字节");
			}
			}
            //切换失败
			if(!isChange){
				//创建文件夹
				ftpclient.makeDirectory("fengpengfei");
				//重新切换
				ftpclient.changeWorkingDirectory("fengpengfei");
			}
			//设置文件类型
			ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);
			//文件上传
			boolean isStore=ftpclient.storeFile(System.currentTimeMillis()+".png", in);
			System.out.println("文件上传成功"+isStore);
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			try {
                //断开连接
				ftpclient.disconnect();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}

文件下载

package com.apesource.yuan2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;

import org.apache.commons.net.ftp.FTPClient;

public class demo2 {
	public static void main(String[] args) {
        //创建基于FTP协议访问文件服务器的客户端对象
		FTPClient ftpclient=new FTPClient();
		try(FileOutputStream out=new FileOutputStream("D:\\test\\"+System.currentTimeMillis()+".jpg");) {
            //连接FTP服务器并验证用户名密码
			ftpclient.connect("192.168.254.130", 21);
			ftpclient.login("admin", "123456");
            //切换到想要下载文件所在的目录
			ftpclient.changeWorkingDirectory("fpf");
			ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);//文件类型
            //下载指定文件
			boolean isRetrieveFile= ftpclient.retrieveFile("1.jpg", out);

			System.out.println("文件下载成功?"+isRetrieveFile);
	}catch (Exception e) {
		// TODO: handle exception
	}finally {
		try {
            //断开连接
			ftpclient.disconnect();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
	}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿究◎小飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值