一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上传文件夹、检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,Java FTP主文件html" target="_blank">代码:
package ftpDemo; import java.io.DataOutputStream; import java.io.InputStream; import java.io.OutputStream; import sun.net.TelnetInputStream; import sun.net.TelnetOutputStream; import sun.net.ftp.FtpClient; public class ftpUtil { // 上传文件至FTP通用方法 public static void upLoadFileFtp(KmConfig kmConfig,InputStream is, String fileName){ try { String ftpHost = kmConfig.getFtpHost(); int port = kmConfig.getFtpPort(); String userName = kmConfig.getFtpUser(); String passWord = kmConfig.getFtpPassword(); String path = kmConfig.getFtpPath(); FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。 ftpClient.login(userName, passWord);// userName、passWord分别为FTP服务器的登陆用户名和密码 ftpClient.binary(); ftpClient.cd(path);// path为FTP服务器上保存上传文件的路径。 TelnetOutputStream telnetOut = ftpClient.put(fileName);// fileName为上传的文件名 DataOutputStream dataOut = new DataOutputStream(telnetOut); byte buffer[] = new byte[ * ]; int count = ; while ((count = is.read(buffer)) != -) { dataOut.write(buffer, , count); } telnetOut.close(); dataOut.close(); ftpClient.closeServer(); } catch (Exception e) { System.out.println("上传文件失败!请检查系统FTP设置,并确认FTP服务启动"); } } // 删除文件至FTP通用方法 public static void deleteFileFtp(KmConfig kmConfig,String fileName){ try { String ftpHost = kmConfig.getFtpHost(); int port = kmConfig.getFtpPort(); String userName = kmConfig.getFtpUser(); String passWord = kmConfig.getFtpPassword(); String path = kmConfig.getFtpPath(); FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。 ftpClient.login(userName, passWord);// userName、passWord分别为FTP服务器的登陆用户名和密码 ftpClient.binary(); ftpClient.cd(path);// path为FTP服务器上保存上传文件的路径。 try { ftpClient.sendServer("dele " + fileName + "\r\n"); } catch (Exception e) { System.out.println("删除文件失败!请检查系统FTP设置,并确认FTP服务启动"); } ftpClient.closeServer(); } catch (Exception e) { System.out.println("删除文件失败!"); } } // 下载ftp文件 public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){ try { String ftpHost = kmConfig.getFtpHost(); int port = kmConfig.getFtpPort(); String userName = kmConfig.getFtpUser(); String passWord = kmConfig.getFtpPassword(); String path = kmConfig.getFtpPath(); FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost为FTP服务器的IP地址,port为FTP服务器的登陆端口,ftpHost为String型,port为int型。 ftpClient.login(userName, passWord);// userName、passWord分别为FTP服务器的登陆用户名和密码 ftpClient.binary(); ftpClient.cd(path);// path为FTP服务器上保存上传文件的路径。 try { TelnetInputStream in = ftpClient.get(fileName); byte[] bytes = new byte[]; int cnt=; while ((cnt=in.read(bytes,,bytes.length)) != -) { outputStream.write(bytes, , cnt); } outputStream.close(); in.close(); } catch (Exception e) { ftpClient.closeServer(); e.printStackTrace(); } ftpClient.closeServer(); } catch (Exception e) { System.out.println("下载文件失败!请检查系统FTP设置,并确认FTP服务启动"); } } //在ftp服务器上传件文件夹 public boolean createDir(String path,FtpClient ftpClient) throws Exception{ //进入到home文件夹下 ftpClient.cd("/home"); //创建远程文件夹 //远程命令包括 //USER PORT RETR ALLO DELE SITE XMKD CDUP FEAT<br> // PASS PASV STOR REST CWD STAT RMD XCUP OPTS<br> // ACCT TYPE APPE RNFR XCWD HELP XRMD STOU AUTH<br> // REIN STRU SMNT RNTO LIST NOOP PWD SIZE PBSZ<br> // QUIT MODE SYST ABOR NLST MKD XPWD MDTM PROT<br> // 在服务器上执行命令,如果用sendServer来执行远程命令(不能执行本地FTP命令)的话,所有FTP命令都要加上/r/n<br> // ftpclient.sendServer("XMKD /test/bb/r/n"); //执行服务器上的FTP命令<br> // ftpclient.readServerResponse一定要在sendServer后调用<br> // nameList("/test")获取指目录下的文件列表<br> // XMKD建立目录,当目录存在的情况下再次创建目录时报错<br> // XRMD删除目录<br> // DELE删除文件<br> //通过远程命令 穿件一个files文件夹 ftpClient.sendServer("MKD "+ path + "\r\n"); //这个方法必须在 这两个方法中间调用 否则 命令不管用 ftpClient.binary(); ftpClient.readServerResponse(); return false; } /** * 检查文件夹是否存在 * @param dir * @param ftpClient * @return */ public boolean isDirExist(String dir, FtpClient ftpClient) { try { ftpClient.cd(dir); } catch (Exception e) { return false; } return true; } }
KmConfig.java代码如下:定义FTP服务器参数,包括登录的用户名密码之类的。
package ftpDemo; public class KmConfig { //主机ip private String FtpHost = ""; //端口号 private int FtpPort; //ftp用户名 private String FtpUser = ""; //ftp密码 private String FtpPassword = ""; //ftp中的目录 private String FtpPath = ""; public String getFtpHost() { return FtpHost; } public void setFtpHost(String ftpHost) { FtpHost = ftpHost; } public int getFtpPort() { return FtpPort; } public void setFtpPort(int ftpPort) { FtpPort = ftpPort; } public String getFtpUser() { return FtpUser; } public void setFtpUser(String ftpUser) { FtpUser = ftpUser; } public String getFtpPassword() { return FtpPassword; } public void setFtpPassword(String ftpPassword) { FtpPassword = ftpPassword; } public String getFtpPath() { return FtpPath; } public void setFtpPath(String ftpPath) { FtpPath = ftpPath; } }
下面是测试代码:
package ftpDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; public class Test { public static void main(String[] args) { //设置ftp KmConfig km = new KmConfig(); km.setFtpHost("..."); km.setFtpPort(); km.setFtpUser("test"); km.setFtpPassword(""); km.setFtpPath("KM"); //上传到ftp ftpUtil util=new ftpUtil(); File file = new File("F:/文章.jpg"); InputStream in; try { in = new FileInputStream(file); util.upLoadFileFtp(km, in, "更改后的名字.jpg"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
以上代码是小编给大家介绍关于Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法,希望大家喜欢。
本文向大家介绍java实现将文件上传到ftp服务器的方法,包括了java实现将文件上传到ftp服务器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现将文件上传到ftp服务器的方法。分享给大家供大家参考,具体如下: 工具类: 读取配置文件: 将文件上传ftp: 更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教
我想将文件从一台服务器上传到另一台FTP服务器,以下是我的上传文件代码,但它抛出错误为: 远程服务器返回错误:(550)文件不可用(例如,找不到文件,无法访问)。 这是我的代码: 你能告诉我哪里出了问题吗?
本文向大家介绍java实现ftp上传 如何创建文件夹,包括了java实现ftp上传 如何创建文件夹的使用技巧和注意事项,需要的朋友参考一下 java如何实现ftp上传?如何创建文件夹? 最佳答案: 准备条件:java实现ftp上传用到了commons-net-3.3.jar包 首先建立ftphost连接 然后再利用ftpclient的makeDirectory方法创建文件夹 断开host连接 最后
本文向大家介绍Python ftp上传文件,包括了Python ftp上传文件的使用技巧和注意事项,需要的朋友参考一下 以下代码比较简单,对python实现ftp上传文件相关知识感兴趣的朋友可以参考下 下面给大家介绍python实现ftp上传下载文件的方法 python本身自带一个FTP模块,可以实现上传下载的函数功能。
本文向大家介绍python实现的简单FTP上传下载文件实例,包括了python实现的简单FTP上传下载文件实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现的简单FTP上传下载文件的方法。分享给大家供大家参考。具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能。 希望本文所述对大家的Python程序设计有所帮助。
我正在使用.NET 4 C。我正在尝试上载一个ZIP文件,然后将其下载到(我的)服务器。 上传我有 这似乎可行,因为我在服务器上得到了一个大小合适的文件。 1) 我如何将其流式传输,而不是首先将其加载到内存中?我将上传非常大的文件。 为了下载我有 2)一切似乎都正常......除了当我尝试解压缩下载的ZIP文件时,我得到了一个无效的ZIP文件。