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年10月14日 10:30

erosion(erosion是什么意思)

erosion(erosion是什么意思)

这篇文章给大家聊聊关于erosion,以及erosion是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月14日 08:50

作业互助组被禁了(作业互助组app离线状态总是无法联网怎么办)

作业互助组被禁了(作业互助组app离线状态总是无法联网怎么办)

这篇文章给大家聊聊关于作业互助组被禁了,以及作业互助组app离线状态总是无法联网怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月14日 08:10

以推进中华民族伟大复兴(描绘了以什么全面推进中华民族伟大复兴的宏伟蓝图)

以推进中华民族伟大复兴(描绘了以什么全面推进中华民族伟大复兴的宏伟蓝图)

“以推进中华民族伟大复兴”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看以推进中华民族伟大复兴(描绘了以什么全面推进中华民族伟大复兴的宏伟蓝图)!

2026年10月14日 07:50

1月6日蚂蚁庄园答案(1月6日蚂蚁庄园答案是什么)

1月6日蚂蚁庄园答案(1月6日蚂蚁庄园答案是什么)

本篇文章给大家谈谈1月6日蚂蚁庄园答案,以及1月6日蚂蚁庄园答案是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月14日 07:40

autocad2004怎么裁剪(cad修剪怎么剪一部分)

autocad2004怎么裁剪(cad修剪怎么剪一部分)

其实autocad2004怎么裁剪的问题并不复杂,但是又很多的朋友都不太了解cad修剪怎么剪一部分,因此呢,今天小编就来为大家分享autocad2004怎么裁剪的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月14日 06:50

电脑评测软件(鲁大师性能测试多少分算好电脑)

电脑评测软件(鲁大师性能测试多少分算好电脑)

大家好,关于电脑评测软件很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于鲁大师性能测试多少分算好电脑的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月14日 03:00

百度世界地图(怎样在百度中看世界地图)

百度世界地图(怎样在百度中看世界地图)

本篇文章给大家谈谈百度世界地图,以及怎样在百度中看世界地图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月14日 02:40

网络课堂登录(成教云课堂登录不上,显示密码或用户名错误是怎么回事)

网络课堂登录(成教云课堂登录不上,显示密码或用户名错误是怎么回事)

各位老铁们,大家好,今天由我来为大家分享网络课堂登录,以及成教云课堂登录不上,显示密码或用户名错误是怎么回事的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月14日 00:40

realtek声卡驱动win10(win10安装realtek声卡驱动超时失败电脑没声音怎么办)

realtek声卡驱动win10(win10安装realtek声卡驱动超时失败电脑没声音怎么办)

这篇文章给大家聊聊关于realtek声卡驱动win10,以及win10安装realtek声卡驱动超时失败电脑没声音怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月14日 00:30

最近更新

自助网站建设的步骤是什么?
2026-10-14 12:20:21 浏览:0
河南数据网站建设前景怎么样分析
2026-10-14 12:19:22 浏览:0
热门文章

sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
thinkpadx100eu盘启动(thinkpad x100e U盘启动 支持的写入方式是什么)
2026-09-01 14:20:01 浏览:6
标签列表