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這個文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章