android ftp(【Android】android ftp上传功能实现)

:暂无数据 2026-09-16 23:30:19 :2

android ftp(【Android】android ftp上传功能实现)

其实android ftp的问题并不复杂,但是又很多的朋友都不太了解【Android】android ftp上传功能实现,因此呢,今天小编就来为大家分享android ftp的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

【Android】android ftp上传功能实现

今天讲一讲 android怎么上传文件到ftp

***隐藏网址***

先说说例子文件结构

一个简单的界面

例子项目文件 这两个权限是必须的 uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" / uses-permission android:name="android.permission.INTERNET" /

ftp的java类 变量设置

上传单个文件 uploadSingleFile

上传多个文件 uploadMultiFile

上传单个文件(带返回 true上传成功, false上传失败)

上传文件之前初始化相关参数

上传完成之后关闭连接

打开FTP服务. 这个地方是比较重要的(ftp的相关操作)

关闭FTP服务.

用到的监听接口

ProgressInputStream的java类 数据流的类

extends InputStream 流的方法实现

MainActivity上传的方法怎么使用 提示语的常量

上传的方法的使用

Android开发访问FTP服务器

commons-net.jar里面有ftp相关的接口,这个是我自己封装的一个类
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
public class FTPUtils {

/**
* 通过ftp上传文件
*
* @param fileNamePath
* 要上传的文件路径 , 以’结’尾
* @param fileName
* 要上传的文件名
* @return 如果成功返回"" , 否则返回错误结果
*/
public static String ftpUpload(String sdcardFullFileName, String fileName, String ftpPath) {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;
String returnMessage = "";
try {
ftpClient.connect(ConnectConfig.ftpIP, ConnectConfig.ftpPort);
boolean loginResult = ftpClient.login(ConnectConfig.ftpUserName, ConnectConfig.ftpPassWord);
int returnCode = ftpClient.getReplyCode();
if (loginResult && FTPReply.isPositiveCompletion(returnCode)) {// 如果登录成功
String splits = ftpPath.split("/");
String temps = splits;
ftpClient.makeDirectory(temps);
for(int i=1;i《splits.length;i++){
temps += "/" + splits;
ftpClient.makeDirectory(temps);
}
//ftpClient.makeDirectory(ftpPath);
// 设置上传目录
ftpClient.changeWorkingDirectory(ftpPath);
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
fis = new FileInputStream(sdcardFullFileName);
//boolean result = ftpClient.(fileName, fis);
boolean result = ftpClient.storeFile(fileName, fis);
if(result){
returnMessage = ""; // 上传成功
}else{
returnMessage = "上传失败";
}
} else {// 如果登录失败
returnMessage = "登录FTP时失败,FTP用户名或者密码错误!";
}
} catch (IOException e) {
// ftp发送出现异常
e.printStackTrace();
returnMessage = "FTP客户端出错!" + e;
} finally {
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
return returnMessage;
}
}

android ftpclient.connect()报错

执行到ftp.connect(ftpIP)进报的错,ftpIP是有值是IP+ ": "+端口
//FTP连接
public boolean connectFTP(){
try {
ftp = new FTPClient();
if(ftpPort.equals( " ")){
ftp.connect(ftpIP);
}
boolean blogin = ftp.login(ftpUser,ftpPassword);
if (!blogin) {
System.out.println( "FTP连接失败: "+ftpIP);
ftp.disconnect();
ftp = null;
return false;
}
return true;
} catch (Exception e) {
e.printStackTrace();
System.out.println( "FTP连接失败: "+ftpIP);
}
return false;
}
java.net.InetAddress.getAllByName0(InetAddress.java:591)
java.net.InetAddress.getAllByName0(InetAddress.java:560)
java.net.InetAddress.getByName(InetAddress.java:492)
java.net.Socket. 《init》 (Socket.java:121)
at org.apache.commons.net.DefaultSocketFactory.createSocket(DefaultSocketFactory.java:53)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:162)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:250)
at JavaAgent.connectFTP(JavaAgent.java:432)
------解决方案--------------------
没人知道吗,急啊!!!!!!!
------解决方案--------------------
import sun.net.ftp.*;
import java.io.*;
import java.io.IOException;
import java.util.StringTokenizer;
import sun.net.ftp.*;
import java.util.ArrayList;
import sun.net.TelnetOutputStream;
public class ftpClient {
public ftpClient() {
}
FtpClient client;
private String host= "135.64.160.151 ";//FTP服务器IP
private String username= "anonymous ";//FTP用户名字
private String password= " ";//FTP密码
private String path = "/test "; //文件要放哪个目录
private int port = 21; //FTP端口
/**
* 连接服务器方法
*/
public void connect() {
try {
client = new FtpClient(host);
client.login(username, password);
//设置成2进制传输
client.binary();
client.cd(path);
System.out.println( "登陆成功 ");
}
catch (FtpLoginException e) {
System.out.println( "无权限相连接 " + e.getMessage());
}
catch(IOException e){
System.out.println( "连接失败 "+e.getMessage());
}
catch(SecurityException e){
System.out.println( "用户名字或者密码不对 ");
}
}

关于android ftp和【Android】android ftp上传功能实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

android ftp(【Android】android ftp上传功能实现)

本文编辑:admin

更多文章:


植物保卫战无限叶子版中文版(植物保卫战怎么修改叶子,获得无限叶子的方法)

植物保卫战无限叶子版中文版(植物保卫战怎么修改叶子,获得无限叶子的方法)

各位老铁们好,相信很多人对植物保卫战无限叶子版中文版都不是特别的了解,因此呢,今天就来为大家分享下关于植物保卫战无限叶子版中文版以及植物保卫战怎么修改叶子,获得无限叶子的方法的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧

2026年11月7日 13:50

每天新闻早知道(天猫精灵早上好的新闻哪里来的)

每天新闻早知道(天猫精灵早上好的新闻哪里来的)

这篇文章给大家聊聊关于每天新闻早知道,以及天猫精灵早上好的新闻哪里来的对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月7日 12:50

暗黑破坏神不朽发售日(官宣确认!《暗黑破坏神:不朽》手游,将于暑期正式上线)

暗黑破坏神不朽发售日(官宣确认!《暗黑破坏神:不朽》手游,将于暑期正式上线)

这篇文章给大家聊聊关于暗黑破坏神不朽发售日,以及官宣确认!《暗黑破坏神:不朽》手游,将于暑期正式上线对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月7日 10:00

奥特曼格斗进化游戏(奥特曼格斗进化1如何获得艾斯杀手)

奥特曼格斗进化游戏(奥特曼格斗进化1如何获得艾斯杀手)

大家好,奥特曼格斗进化游戏相信很多的网友都不是很明白,包括奥特曼格斗进化1如何获得艾斯杀手也是一样,不过没有关系,接下来就来为大家分享关于奥特曼格斗进化游戏和奥特曼格斗进化1如何获得艾斯杀手的一些知识点,大家可以关注收藏,免得下次来找不到哦

2026年11月7日 09:40

枫之谷m手游官网(韩服枫之谷m怎样才能破千万伤害)

枫之谷m手游官网(韩服枫之谷m怎样才能破千万伤害)

大家好,如果您还对枫之谷m手游官网不太了解,没有关系,今天就由本站为大家分享枫之谷m手游官网的知识,包括韩服枫之谷m怎样才能破千万伤害的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月7日 08:50

dnf剑魔补丁(DNF的补丁冲突要怎么解决)

dnf剑魔补丁(DNF的补丁冲突要怎么解决)

大家好,关于dnf剑魔补丁很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于DNF的补丁冲突要怎么解决的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月7日 06:10

手机自动定位风水罗盘下载(请问我的三星g3818手机下载的风水罗盘怎么用不了都不能动的,如何才能下载到真正的风水罗盘)

手机自动定位风水罗盘下载(请问我的三星g3818手机下载的风水罗盘怎么用不了都不能动的,如何才能下载到真正的风水罗盘)

大家好,关于手机自动定位风水罗盘下载很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于请问我的三星g3818手机下载的风水罗盘怎么用不了都不能动的,如何才能下载到真正的风水罗盘的知识点,相信应该可以解决大家的一些困惑和问题,如

2026年11月7日 03:40

角色扮演是什么啊?角色扮演的名词解释是什么

角色扮演是什么啊?角色扮演的名词解释是什么

大家好,关于角色扮演很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于角色扮演是什么啊的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月7日 02:50

假面骑士超巅峰英雄fourze(假面骑士超巅峰英雄怎么解锁雷霆)

假面骑士超巅峰英雄fourze(假面骑士超巅峰英雄怎么解锁雷霆)

这篇文章给大家聊聊关于假面骑士超巅峰英雄fourze,以及假面骑士超巅峰英雄怎么解锁雷霆对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月7日 01:40

英语所有的语法大全(英语语法有多少种)

英语所有的语法大全(英语语法有多少种)

其实英语所有的语法大全的问题并不复杂,但是又很多的朋友都不太了解英语语法有多少种,因此呢,今天小编就来为大家分享英语所有的语法大全的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月7日 01:00

最近更新

广告sdk接入(Appstore接哪个广告SDK)
2026-11-07 15:10:15 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
标签列表