您的位置:首页 > 编程语言 > Java开发

使用java程序用FTP的方式的上传文件

2017-01-18 22:11 555 查看
首先我们先看一下源程序,这里是连接到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();
}
}
}


效果截图:



这里也可以更数据库结合起来,就可以,只更改数据中的数据。就可以实现向多台手机发送信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java ftp