Java通过ftp上传文件
首先,pom.xml添加引用
<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency>
先上代码吧:
public static void main(String[] args) { FTPClient ftp = new FTPClient(); System.out.println("准备连接到ftp"); try { //连接 ftp.connect("172.23.88.107", 8003); //登录 boolean loginS = ftp.login("admin", "admin"); if (!loginS) { System.out.println("ftp登录失败,用户名或密码错误"); return; } // 获取本地文件并上传 String file = "d://IIS//YRWeb//Web.config"; FileInputStream input = new FileInputStream(file); ftp.changeWorkingDirectory("file");//跳转目录 ftp.setFileType(FTPClient.BINARY_FILE_TYPE);//必须要设置以二进制的方式传输文件 ftp.enterLocalPassiveMode();//被动模式 //ftp.enterLocalActiveMode();//主动模式,默认是主动模式 if (!ftp.storeFile(new File(file).getName(), input)) { System.out.println("失败,服务器返回:" + ftp.getReplyString());//获取上传失败的原因 } else { System.out.println("文件:" + new File(file).getName() + " 上传成功"); } input.close(); ftp.logout(); } catch (IOException e) { System.out.println("ftp连接失败"); } }
说明:
1.连接服务器
2.根据用户名密码登录
3.设置目录,如果是根目录可以不用设置
4.设置文件方式
5.storeFile上传文件
6.关闭文件流
7.退出ftp