使用java程序用FTP的方式的上传文件
2017-01-18 22:11
555 查看
首先我们先看一下源程序,这里是连接到FTP服务器后然后打印,FTP服务器上的文件目录
效果截图:
删除文件
效果截图:
这里也可以更数据库结合起来,就可以,只更改数据中的数据。就可以实现向多台手机发送信息。
import java.io.IOException; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import java.nio.charset.Charset; import java.io.*; public class FtpDemo{ /* 获取FTP服务器上所有的目录 */ public static void conn(){ //初始化FTP客服端 FTPClient ftp = new FTPClient(); try{ //通过IP跟端口进行连接 //192.168.20.111 是我FTP服务器的IP,你需要换成你自己的 ftp.connect("192.168.20.111",21); //登录名,密码 ftp.login("ms","ms"); //设置编码 ftp.setCharset(Charset.forName("UTF-8")); ftp.setControlEncoding("UTF-8"); //获取目录列表存放在数组中 FTPFile files[] = ftp.listDirectories(); for(int i = 0; i < files.length; i++){ FTPFile file = files[i]; //获取文件名 String fileName = file.getName(); //打印文件名 System.out.println(fileName); } }catch(SocketException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }finally{ try{ Thread.sleep(500); }catch(InterruptedException e1){ e1.printStackTrace(); } try{ ftp.abor(); }catch(IOException e){ e.printStackTrace(); } } } public static void main(String args[]){ conn(); } }
使用FTP连接手机上传文件:
这里我们要注意我们要有一个能开启ftp服务的手机,小米手机是默认可以开启的,iPhone手机则可以使用移动U盘,其他安卓手机则可以上网查找一下。public static void conn(){ FTPClient ftp = new FTPClient(); try{ //手机ip及端口号 ftp.connect("192.168.20.87",20000); //使用匿名用户登录 ftp.login("anonymous",""); ftp.setCharset(Charset.forName("UTF-8")); ftp.setControlEncoding("UTF-8"); //手机文件夹目录及上传文件的名称,后一个是上传的文件目录及名称 ftp.storeFile("/private/var/mobile/Containers/Data/Application/E40FEB6C-1220-490A-8634-A730771D84C0/Documents/shaojie.java",new FileInputStream("/dog/Dog.java")); }catch(Exception e){ e.printStackTrace(); }finally{ try{ ftp.abor(); }catch(Exception e){ e.printStackTrace(); } } }
效果截图:
删除文件
public static void deleteFile(){ FTPClient ftp = new FTPClient(); try{ ftp.connect("192.168.20.243",20000); ftp.login("anonymous",""); ftp.setCharset(Charset.forName("UTF-8")); ftp.setControlEncoding("UTF-8"); ftp.deleteFile("/private/var/mobile/Containers/Data/Application/E40FEB6C-1220-490A-8634-A730771D84C0/Documents/shaojie.java"); }catch(Exception e){ e.printStackTrace(); }finally{ try{ ftp.abor(); }catch(Exception e){ e.printStackTrace(); } } }
效果截图:
这里也可以更数据库结合起来,就可以,只更改数据中的数据。就可以实现向多台手机发送信息。