文章主要描述了基于FTP协议的查看文件,上传文件以及下载文件
目录
FTP服务器
创建FTP服务器的步骤如下
在操作文件前需要连接FTP服务器并验证用户名密码
FTPClient ftpClient = new FTPClient();
//连接FTP服务器并验证用户名密码
ftpClient.connect("192.168.254.146");
ftpClient.login("haha","12345");
进入指定目录
相对路径仅支持在根目录下使用,若已经进入子目录再使用相对路径,则无法切换目录,而绝对路径可以用于任何目录下的路径切换
ftpClient.changeWorkingDirectory("tang");//相对路径
ftpClient.changeWorkingDirectory("//tang");//绝对路径
ftpClient.changeToParentDirectory();//切换到上一级目录
创建目录
ftpClient.makeDirectory("tang");//创建到根目录下
查看文件信息
FTPFile[] ftpFiles = ftpClient.listFiles();
//设置时间格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年mm月dd日");
//遍历文件
for(FTPFile file:ftpFiles){
String fileName=file.getName();//获取文件名称
//处理文件名称中文乱码
String filename = new String(fileName.getBytes("iso-8859-1"), "gb2312");
System.out.println("文件名称:"+filename);
//getTimestamp():获取到的是一个日历时间对象,需要按照指定格式处理
Date time = file.getTimestamp().getTime();//转换为Date格式
System.out.println("创建时间:"+dateFormat.format(time));
System.out.println("文件大小:"+file.getSize()+"字节");
文件上传
new FileInputStream("D:\\JavaNotebook\\WEB\\TheFirstProject\\img\\ef4bd6235a7c6c2.webp")
ftpClient.makeDirectory("tang");//创建文件夹
ftpClient.changeWorkingDirectory("tang");//切换到该文件夹
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//设置文件类型为二进制文件
boolean isStore = ftpClient.storeFile(System.currentTimeMillis() + ".webp", bis);//设置文件名并上传文件
System.out.println("文件上传:"+isStore);
下载文件
ftpClient.changeWorkingDirectory("//testPic");//切换到要下载的文件所在的目录
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//设置文件下载的格式为二进制文件
boolean isRetrieve = ftpClient.retrieveFile("d7c37.webp", out);//下载文件,并将操作是否成功存入变量
System.out.println("文件下载:"+isRetrieve);