内蒙古呼和浩特网站建设,县城做二手车网站,重庆做网站公司哪家好,做网站工资高吗废话不多说#xff0c;直接上代码#xff0c;拿去直接可以使用。
如果小伙伴们没有可以测试ftp服务器#xff0c;可以在自己的本地搭建一套ftp服务#xff0c;步骤也很简单
传送门#xff1a;Windows下如何搭建FTP服务并且设置其用户名和密码 (taodudu.cc)
一.引入依赖…废话不多说直接上代码拿去直接可以使用。
如果小伙伴们没有可以测试ftp服务器可以在自己的本地搭建一套ftp服务步骤也很简单
传送门Windows下如何搭建FTP服务并且设置其用户名和密码 (taodudu.cc)
一.引入依赖 dependencygroupIdcommons-net/groupIdartifactIdcommons-net/artifactIdversion3.3/version/dependency
二.工具类
package com.gstanzer.supervise.utills;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;/*** author: tangbingbing* date: 2023/8/11 14:16*/
Slf4j
public class FTPUtils {/*** 上传文件** param fileName 上传到FTP服务器后的文件名称* param inputStream 输入文件流* return*/public static boolean creatFileFTP(String hostname, int port, String username, String password, String pathname, String fileName, InputStream inputStream) {boolean flag false;FTPClient ftpClient new FTPClient();//设置超时ftpClient.setConnectTimeout(60 * 60 * 1000);//设置编码ftpClient.setControlEncoding(UTF-8);try {//连接FTP服务器ftpClient.connect(hostname, port);//登录FTP服务器ftpClient.login(username, password);//是否成功登录FTP服务器int replyCode ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(replyCode)) {return flag;}log.info(登录FTP成功);ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//切换路径 创建路径ftpClient.makeDirectory(pathname);ftpClient.changeWorkingDirectory(pathname);ftpClient.enterLocalPassiveMode();// String pathDir1 pathnamedf.format(new Date());
// boolean pathIsExis ftpClient.changeWorkingDirectory(pathDir1);
// log.info(查看文件夹是否存在);
// if(!pathIsExis){//不存在文件夹则创建并且进入文件夹
// ftpClient.makeDirectory(pathDir1);
// ftpClient.changeWorkingDirectory(pathDir1);
// }//设置缓冲ftpClient.setBufferSize(1024 * 1024 * 20);//保持连接ftpClient.setKeepAlive(true);boolean a ftpClient.storeFile(new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1), inputStream);if (a) {flag true;log.info(文件创建成功);} else {flag false;}inputStream.close();ftpClient.logout();flag true;} catch (Exception e) {e.printStackTrace();} finally {if (ftpClient.isConnected()) {try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();}}}return flag;}/*** 生成写入文件** param data 文件内容* return*/public static InputStream write(String data) {InputStream input new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8));return input;}public static void main(String[] args) {String data 中文 data1\n中文 data2;InputStream in write(data);boolean b creatFileFTP(127.0.0.1, 21, user, pwd, /, test.txt, in);if (b) {System.out.println(文件生成并上传成功);}}
}