首先我们先看一下源程序,这里是连接到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();
}
}
}
效果截图:
这里也可以更数据库结合起来,就可以,只更改数据中的数据。就可以实现向多台手机发送信息。