Linux下java程序的依赖运行(下)

来源:互联网 发布:阿里云域名解析时间 编辑:程序博客网 时间:2024/06/05 20:55

公司开发完一套软件后,可能需要在手机上进行测试,几百上千台手机都要手动进行推送安装的话效率极低,此时写一套java程序把文件自动推送到设备上将大大降低人力物力的投入。本篇基于上篇的铺垫,使用FTP工具实现PC端 向多台手机推送文件,编写的java文件需要用到依赖包运行,本篇将结合应用场景,再次学习“依赖运行”。

需要准备:

Linux操作环境、

FTP依赖包:【http://download.csdn.net/download/u012134786/9650966】、

Android手机两台,下载ES文件浏览器--->远程管理--->打开:分别记下【ip地址 :192.168.20.199   端口号:3721】【ip地址:xxxxxxxx  端口号:xxxxxxx】、


①编写推送文件的FtpDemo类,

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.FileInputStream;public class FtpDemo {public static void conn(){FTPClient ftp = new FTPClient();//二维数组依次表示:手机ip地址、手机端口、FTP用户名、FTP密码。若要向更多手机逐一推送文件,可以在array中添加更多的数组。String[][] array = {{"192.168.20.199", "3721","root","root"},{"192.168.20.53", "2121","root","123456"}};for(int i = 0; i < array.length; i++){try{/* *循环获取二维数组的数据 *ftp.connect(ip地址,端口号); *ftp.login(用户名,密码); */ftp.connect(array[i][0],Integer.parseInt(array[i][1]));ftp.login(array[i][2],array[i][3]);ftp.setCharset(Charset.forName("UTF-8"));ftp.setControlEncoding("UTF-8");//向手机推送一个jar包,ftp.sotreFile(文件名,文件所在路径);ftp.storeFile("/commons-net-3.5.jar", new FileInputStream("/home/test/commons-net-3.5.jar"));//推送成功则输出success!System.out.println("success");}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();}}


②将依赖jar包与FtpDemo.java文件放在同一目录下


编译【javac -cp .:commons-net-3.5.jar FtpDemo.java】

运行【java -cp .:commons-net-3.5.jar FtpDemo】

编译运行FtpDemo.java,看到输出了success代表文件已经推送到手机上叻


默认是推送到存储空间的根目录


注意:两台手机和Linux操作系统都要处于同一网段内才能进行文件推送,即局域网、或者说同一个wifi中;

手机也要时刻检查是否已经开启FTP,否则执行java程序的时候会报错连接失败。



2 0
原创粉丝点击