Java通过commons-net.jar包上传ftp文件到多台手机

工具/材料

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这个文件

猜你喜欢

转载自blog.csdn.net/chenriyang0306/article/details/54582175