Android开发访问FTP服务器
commons-netjar里面有ftp相关的接口,这个是我自己封装的一个类
import javaioFileInputStream;
import javaioIOException;
import javanetSocket;
import javautilArrayList;
import javautilList;
import orgapachecommonsnetftpFTP;
import orgapachecommonsnetftpFTPClient;
import orgapachecommonsnetftpFTPReply;
import androidappActivity;
import androidcontentContext;
import androidcontentSharedPreferences;
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 {
ftpClientconnect(ConnectConfigftpIP, ConnectConfigftpPort);
boolean loginResult = ftpClientlogin(ConnectConfigftpUserName, ConnectConfigftpPassWord);
int returnCode = ftpClientgetReplyCode();
if (loginResult && FTPReplyisPositiveCompletion(returnCode)) {// 如果登录成功
String[] splits = ftpPathsplit("/");
String temps = splits[0];
ftpClientmakeDirectory(temps);
for(int i=1;i<splitslength;i++){
temps += "/" + splits[i];
ftpClientmakeDirectory(temps);
}
// ftpClientmakeDirectory(ftpPath);
// 设置上传目录
ftpClientchangeWorkingDirectory(ftpPath);
ftpClientsetBufferSize(1024);
ftpClientsetControlEncoding("UTF-8");
ftpClientsetFileType(FTPBINARY_FILE_TYPE);
ftpCliententerLocalPassiveMode();
fis = new FileInputStream(sdcardFullFileName);
// boolean result = ftpClient(fileName, fis);
boolean result = ftpClientstoreFile(fileName, fis);
if(result){
returnMessage = ""; // 上传成功
}else{
returnMessage = "上传失败";
}
} else {// 如果登录失败
returnMessage = "登录FTP时失败,FTP用户名或者密码错误!";
}
} catch (IOException e) {
// ftp发送出现异常
eprintStackTrace();
returnMessage = "FTP客户端出错!" + e;
} finally {
try {
ftpClientdisconnect();
} catch (IOException e) {
eprintStackTrace();
}
}
return returnMessage;
}
}
手机和电脑互传文件,可以试试下面这几种方法。
1、通讯类软件
大家手机电脑上可以说都装有通讯软件,并且有些也有网盘软件。这类可以说是目前日常使用频率最多的方法,主要为微信、QQ等一众软件。
微信的话直接文件传输助手,日常发个Word、Excel还是挺方便的。
优点:简单方便,任何手机电脑上都有这些软件之一。
缺点:没有外网时无法使用、手机上要找具体文件所在位置时麻烦、大文件慢慢等吧。
2、蓝牙
还记得这个老伙计不,在那个非智能手机时代,蓝牙让大家初次体会到了无线、无网传输的快乐。
如今,你还可以体验这个充满情怀的方式。
与一只老母猪手机蓝牙配对后,右键需要发送的文件,选择发送到蓝牙设备即可。
优点:情怀。缺点:慢、不稳定、台式机不一定有蓝牙;仅限安卓用户,iOS无法传文件。
3、快传类软件
手机和电脑安装同一款软件,连上同一个网,就可以轻松互传。这可能是目前使用最广泛的方式,常见的包括快牙、茄子快传这些软件,本质上都一样。
界面友好(除了广告),引导式的操作。
优点:引导式。
缺点:需要下软件、软件略臃肿,有些有广告;每次用需要重新打开。
推荐软件:个人体验这一类软件都差不多,不进行推荐。
4、FTP共享
FTP(File Transfer Protocol,文件传输协议),搭建FTP服务器也是非常常用的方式。上一类中很多软件其实使用的就是这种方式,只是软件帮你轻松完成了,所以你没有意识到。而一些软件可以让你看到这个过程,比如ES、SE文件管理器等。
ES文件浏览器,打开从PC访问即可。电脑端输入地址即可访问,注意ftp://开头。
优点:速度快,相对上一类更简洁。缺点:懒并且每次需要手动开。推荐软件:ES文件浏览器。
5、SMB共享
SMB和FTP本质上差不多,要说区别,SMB协议可以为局域网用户提供相关的功能和机制。比如FTP对文件的修改属于先下载修改后上传,SMB则免去了下载上传这一步。
使用上也很方便,Windows设置好共享文件夹和权限。再使用RE管理器等软件添加SMB,输入地址连接即可。ES文件浏览器里叫局域网。
iOS用户使用自带的文件APP连接即可。
优点:和FTP基本一致,不同在于电脑设置好后不需要再管,下次连接在手机上修改IP即可。缺点:Windows共享并不友好,有时候玄学问题。推荐软件:RE管理器、ES文件浏览器。
6、额外设备
额外设备包括:路由器外接存储设备、NAS等。利用中间储存的方式,即连即用,而NAS功能则更加丰富、简单自由。路由器使用方法比较简单,插上U盘/移动硬盘,开启共享。
连接方式和上述SMB一致。
而NAS(网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置。不管从硬件再到系统以及网络配置都有得折腾,但配置好后使用十分便利,包括折腾过程其实也算是一种娱乐。
代表系统有FreeNAS(TrueNAS)、群晖。
优点:配置好后使用方便,随时可用。
缺点:配置过程可能麻烦,额外花费。
7、最推荐:HTTP传输
这一类是我亲身使用最推荐的方式!前面的全都不用看!
这一类方式通过创建Web服务器,可以让你像使用网络浏览器从网站下载上传文件一样来进行文件互传,不需要下载任何软件。
当然,由于是局域网,速度可比外网快多了。
Windows、安卓都有一键创建服务器的软件,这里以Windows端的CHfsGui演示。
打开软件,添加共享目录,这里你可以设置一个专门的共享文件夹作为中转,也可以直接添加要分享的文件所在目录。
直接开启服务的话你会发现,其他设备只能下载不能上传,所以需要配置账户权限。
下方的账户控制,点击添加,设置账户密码,权限勾上。如果你不想用账户密码,也可以将默认的访客用户赋予读写权限。
完成后启动服务,其他设备就可以直接浏览器访问地址,来上传/下载。
如果需要可以设置开机自启,今后就可以一直运行。
浏览器访问地址即可,这里就不是ftp开头了哈,不需要输开头。
8、安卓上也有类似的软件,比如:局域网精灵。
优点:全设备通用,软件友好干净,使用体验以及稳定性都比FTP和SMB共享好得多。缺点:不是所有人都喜欢这种简单的界面。推荐软件:Windows:CHfs Gui、HFS。安卓:局域网精灵。
结语&软件获取
上述介绍的众多方式你用过几种?体验如何?
对我个人而言,最后一类是我个人使用最多的方式,不管是速度还是使用体验都值得推荐。相关软件均为开源软件,懒得找的话,大家可以关注手极,并回复手机电脑传文获取。互传文件的方式实在太多,如有遗漏,欢迎补充。我想肯定有人会羡慕鸿蒙互联,别急,有个普通电脑和安卓系统也能“互联”的神器下次给大家安排。
如果手机需要下载安装软件应用,建议尝试:
1使用手机功能表中自带的浏览器上网,直接搜索需要的软件进行下载安装(下载安卓版本格式为apk)。
2使用电脑下载APK格式的安装包,连接数据线传输至手机,操作手机在应用程序-我的文件中找到安装包,运行后点击安装按钮。
3下载完成后点击下载的应用,根据软件手机界面中软件安装提示点击安装即可。
建议试试我们推出了花生壳forAndroid版本,让安卓手机变为能放进裤兜的移动服务器。
只需要在官网免费下载安装,就可以让安卓手机实现内网穿透功能,将局域网中的设备映射到互联网。
那么花生壳安卓版如何使用?
花生壳安卓版是针对安卓平台开发的版本,与Windows、Linux、树莓派等其他平台版本一样都能实现内网穿透的功能。
先通过花生壳管理APP或PC端的花生壳。将需要设备的IP、端口与花生壳提供的免费外网访问地址绑定在一起即可。
然后只需要安装花生壳APP,登陆相同账号即可。这样就可以轻松的实现远程互联网远程访问局域网设备。
安装在手机上后就是可以做到花生壳盒子能实现的功能,远程访问NAS搭建私有云、搭建办公系统、视频监控、网站、博客、论坛、FTP、SVN服务器。
ETP服务器即一款本机电脑文件搜索软件Everything,速度较快,里面的文件传输协议,向后兼容FTP协议,安装Everything后打开ETP服务器功能,本机的文件就可以被别的电脑搜索到了,其他电脑可以直接使用Everything软件连接ETP服务器,也可使用一般的FTP软件,ETP就是一个可升级版和特殊版的FTP服务器。
用手机传输ETP文件传输的方法:
是要用第三方的FTP共享,安卓手机的ES文件浏览器就带有FTP服务端,端口3721,进入ES设定找到远程设置,勾上远程访问。
正式开始
下载并安装AndroPHP、Feel FTP和File Zilla
安装完成后打开AndroPHP,界面如下:
备注:此处为手机内网IP,意味着你只能用内网设备访问,在以后的博文中会告诉大家如何进行端口映射,从而实现外网也可访问
看到上图两个地址后,其实可以直接点击,使用手机浏览器访问的界面如下:
备注:
1中大家可能看不到wordpress文件夹,别急下一步教你上传。
phpMyAdmin的默认用户名是root或者是你当前手机的ip地址,密码为空(这信息可以在phpinfophp中查看)
接下来,就是教大家如何上传文件到手机,当然前提是你已经在Wordpress上下载好了wordpress安装包(下载很简单的,自己去看看吧)或者你自己已经写好了PHP网页,也可以
两种方法:
1
1
在手机文件管理里,找到根目录下的WWW文件夹,然后用数据线是上传文件到这个文件夹就行了,相当于服务器的根目录
利用Feel FTP(手机端)和File Zilla(电脑端)进行文件传输。这种方法更像是将手机当成服务器啊(本人拙见,其实只要效果一样就行,嘿嘿)
步骤一、打开Feel FTP,点击下方中间按钮,绿色变成红色即为打开,上方也显示出你是否打开了(ps:你可以在设置中关闭无连接是自动退出,不然等会就要打开一次,太麻烦)
步骤二、电脑上打开File Zilla
在主机名处输入Feel FTP上显示的地址。例如我的是:
ftp://1921681121
在端口处填写 :2121,剩下可以都不填写(因为Feel FTPmore不开启用户名和密码),点击快速连接
将你的wordpress文件夹从本地上传到手机根目录/www(从窗口1拖动到窗口2,即可)
至此两种文件上传方法均讲述完毕。
5利用phpMyAdmin创建数据库,修改wordpress中的wp-config-samplephp文件,之后的步骤和正常安装wordpress相同,可参考我之后要写的wordpress安装教程,此处介绍到此为止
成果演示
接下来,放几张演示图
手机上的wordpress展示:
或者自己编写的php文件(此处使用的是官方文档演示)
FTP是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服务器管理工具来作为FTP的客户端,进行FTP的操作,实现FTP的下载安装等!
IIS7服务管理器,它最优秀的功能就是可以批量管理,适用于Windows系统,Linux系统和VPS服务器等,能极大的提高站长及服务器运维人员工作效率。
同时iis7服务器管理工具还是vnc客户端,服务器真正实现了一站式管理,可谓是非常方便。ftp下载工具是一个免费开源的FTP客户端软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。它还可以管理各系统服务器(win系统和linux)除此之外,还可以管理vnc,可谓非常强大,关键是免费的!
在众多好用实用的功能当中,最大的亮点还是属定时上传下载的强大功能了,它可以定时备份,自动更新等,大家都在用,还等什么呢~
ftps和sftp这两个协议怎么应用?
都是为ftp连接加密,协议非常相似。一个是借助ssl协议加密,一个时借助ssh加密。
ssl是为http/smtp等加密设计的,ssh是为telnet/ftp等加密、建立传输通道而设计的。
其实ssh建立传输通道就是为了加密和传输,而且这个通道是可以用来远程登录。
如果只说它们的功能,通俗的讲,ssh就像铺管子,ssl就像打包裹,铺管子和打包裹都会使数据安全,都是一个制作密钥的过程,而因为ssh是一个管子所以它很适合ftp的安全传输。其实,还是要从原理上总结一下。
简单的讲:sftp协议是ssh中的一条独立的协议,利用sftp服务器就可以传输数据。
而ftps是ftp-over-ssl的意思,即ftp借助ssl协议加密传输,不但要用ftp服务器还要用ssl协议加密。
(如果是ftp-over-ssh,就是完全不同于sftp的传输方式了,就是利用ftp服务器和ssh协议加密传输数据。)
sftp如何停止下载?
打开手机商城,点击下载管理,然后选择sftp软件,点击中断下载即可
termuxsftp怎么传本地文件?
答解决方法如下
1打开Termius,然后左侧菜单栏选择SFTP,即可看到SFTP界面。是本地目录,右边我们可以选择远程VPS,点击SELECTHOST,然后选择要连接的VPS进行连接即可。
2、连接之后,可以点击最上面的返回上机目录,也可以双击任意目录进入对应的目录。
3、然后我们右击想要上传的文件或者目录,选择Copytotargetdirectory即可进行传输。
如果是右击本地文件,就是从本地上传到VPS;如果是右击VPS的文件,那么就是从VPS下载到本地。
4、如果想要实现在两台VPS之间胡传文件,也很简单,只需要点击左侧的Local,然后选择一个VPS进行连接,之后就可以在两台VPS之间传输文件
什么安卓手机文件管理器最好用啊?
MT管理器采用双窗口操作风格,让你来回移动复制文件更加的便捷。还拥有查看、音乐播放、字体预览、执行脚本、文本对比等功能,还自带压缩解压功能,手机中的ZIP或RAR文件也能轻松解压处理。
0条评论