工具/材料
1、安卓手机2台+安装软件“ftp服务“
2、电脑+VMware+Linux环境+java环境
3、commons-net.jar包
预备知识
1、在VMware中安装Linux系统
2、配置java环境
3、掌握vi命令等Linux常用命令
前期准备
1、保证手机和电脑在同一局域网下
2、将电脑防火墙关闭
3、用电脑下载好commons-net.jar包
方法/步骤
1、安卓手机下载安装“Ftp服务”这款软件,连接局域网>>>可以看到手机的ip地址和端口号>>>启动FTP>>>点击右上角三点标志可进入设置
选择允许被电脑访问的目录>>>FTP授权认证设置为需要用户名密码认证>>>用户名我们用root>>>密码我们设置为123456>>>保存。
另一部手机做一样的操作
2、在电脑中选定要上传的ftp文件b.txt,记住该文件的路径
[root@RedhatLinux chakan]# pwd
/home/chenriyang/temp/chakan
[root@RedhatLinux chakan]# ls
b.txt
3、写一个java程序
[root@RedhatLinux test]# pwd
/home/chenriyang/temp/test
[root@RedhatLinux test]# ls
commons-net-3.5.jarot@RedhatLinux test]# vi FtpDemo.java
import java.io.IOException;
import java.net.SocketException;
import java.io.*;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import java.nio.charset.Charset;
/*定义类*/
public class FtpDemo{
public static void conn(){
String ips[][]={
{"192.168.20.215","2121"},//第一台手机的ip地址,端口号
{"192.168.20.166","2121"} //第二台手机的ip地址,端口号
};
FTPClient ftp = new FTPClient();
for(int i = 0; i < ips.length; i++){
try{
ftp.connect(ips[i][0],Integer.parseInt(ips[i][1]));//连接
ftp.login("root","123456"); //登录
ftp.setCharset(Charset.forName("UTF-8"));
ftp.setControlEncoding("UTF-8");
/*上传文件
注释:"/b.txt" 为ftp文件名
"/home/chenriyang/temp/chakan/b.txt" 为该文件的路径
*/
ftp.storeFile("/b.txt",new FileInputStream("/home/chenriyang/temp/chakan/b.txt"));
System.out.println("ip:"+ips[i][0]+"-------传输成功!");
FTPFile files[] = ftp.listDirectories();
for (int j = 0; j < files.length; j++){
FTPFile file =files[j];
String fileName = file.getName();
System.out.println(fileName);
}
} catch (SocketException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally{
try{
ftp.abor();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
public static void main(String[] args){
conn();
}
}
4、编译,运行
[root@RedhatLinux test]# javac -cp .:commons-net-3.5.jar FtpDemo.java
[root@RedhatLinux test]# java -cp .:commons-net-3.5.jar FtpDemo
5、在手机中看到手机的根目录下多了b.txt这个文件