Android使用FtpServer开启FTP服务端

使用之前需要先下载jar包,可以在官网下载或者从下文附带的DEMO源码中拿
这里写图片描述

在AndroidManifest.xml中声明权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

编译后可能会出现如下错误
这里写图片描述
解决:在build.gradle文件中加如下代码

android {
    ...
    ...
    ...
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
    }
}

开启FTP服务端

private void startFtp() throws FtpException {
    FtpServerFactory serverFactory = new FtpServerFactory();

    //设置访问用户名和密码还有共享路径
    BaseUser baseUser = new BaseUser();
    baseUser.setName(user);
    baseUser.setPassword(password);
    baseUser.setHomeDirectory(rootPath);

    List<Authority> authorities = new ArrayList<Authority>();
    authorities.add(new WritePermission());
    baseUser.setAuthorities(authorities);
    serverFactory.getUserManager().save(baseUser);

    ListenerFactory factory = new ListenerFactory();
    factory.setPort(port); //设置端口号 非ROOT不可使用1024以下的端口
    serverFactory.addListener("default", factory.createListener());

    server = serverFactory.createServer();
    server.start();
}

关闭FTP服务端

server.stop();

FTP服务开启后就可以通过浏览器访问了
输入代码中设置的账号密码
这里写图片描述

DEMO源码

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值