第一天,使用java程序链接ftp server,对共享资源操作

来源:互联网 发布:一年有多少程序员猝死 编辑:程序博客网 时间:2024/06/06 04:56

Apache Commons项目有许多开源的工具,而其中的commons-net中封装了各种网络协议的客户端(支持FTP、NNTP、SMTP、POP3、Telnet等协议),我们可以在java程序当中引用commons-net-3.5.jar包来实现FTPClie客户端。
即是用户通过一个支持FTP协议(File Transfer Protocol,文件传输协议)的客户机程序,链接到远程主机上的FTP服务程序,我们要做的就是编写一个java程序来对远程主机的共享资源的进行一些操作。程序如下:

```import java.io.*;import java.net.*;import org.apache.commons.net.ftp.*;import java.nio.charset.Charset;public class FtpDemo{    /*    功能是:链接远程主机,并对远程共享资源进行一些操作。    */    public static void conn(){          FTPClient ftp = new FTPClient();        try{            //url,port,root,pass、Word要根据远程主机来设置。            //当不需要用户和密码登陆的时候,用户名一般为root,密码为空。            ftp.connect(url,port);            ftp.login("root","passWord");            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);            }/*  //上传文件到远程主机ftp.storeFile("/properties.properties",newFileInputStream("C:\\Users\\lenovopc\\Desktop\\param.properties"));//删除FTP服务端中文件ftp.deleteFile("/properties.properties");*/        }catch(Exception e){            e.printStackTrace();        }        try{            //断开ftp链接            ftp.abor();        }catch(Exception e){            e.printStackTrace();        }    }    public static void main(String[] args){        conn();    }}

运行程序结果如下:
这里写图片描述
(在命令行下编译和运行FtpDemo类,需要引入一个commons-net-3.5.jar包。关于jar包的引用可以查看我上一篇博客)
代码注释中也有上传文件,及删除文件的相应操作。

同样的道理,我们也可以在手机上开启ftp服务,可以让java程序对手机开启的共享文件进行一些操作。
首先,我们在手机下载一个ftp服务。
这里写图片描述
可以设置用户验证:
这里写图片描述
这里写图片描述
这样就完成了手机上的ftp服务器的搭建了,因此我们同样地修改相应的ftp.connect(url,port),ftp.login(root,passWord)方法的参数,就可以对远程主机进行相应操作。

ps:更多的对ftp共享文件的操作可以查看
Apache Commons Net 3.5 API
中Package org.apache.commons.net.ftp的下的FTPClient类。

0 0