• Java应用程序中如何实现FTP功能 | 代码示例和教程


    原为地址:https://www.toymoban.com/diary/java/363.html 

    在Java应用程序中实现FTP功能需要使用FTPClient类和相关方法。下面是实现三个主要功能的示例代码

    1)显示FTP服务器上的文件:

    void ftpList_actionPerformed(ActionEvent e) {
        String server = serverEdit.getText();
        String user = userEdit.getText();
        String password = passwordEdit.getText();
        String path = pathEdit.getText();
        try {
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect(server);
            ftpClient.login(user, password);
            if (path.length() != 0)
                ftpClient.changeWorkingDirectory(path);
            FTPFile[] files = ftpClient.listFiles();
            for (FTPFile file : files) {
                System.out.println(file.getName());
            }
            ftpClient.logout();
            ftpClient.disconnect();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    2)从FTP服务器下载一个文件:

    void getButton_actionPerformed(ActionEvent e) {
        String server = serverEdit.getText();
        String user = userEdit.getText();
        String password = passwordEdit.getText();
        String path = pathEdit.getText();
        String filename = filenameEdit.getText();
        try {
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect(server);
            ftpClient.login(user, password);
            if (path.length() != 0)
                ftpClient.changeWorkingDirectory(path);
            FileOutputStream outputStream = new FileOutputStream(new File(filename));
            ftpClient.retrieveFile(filename, outputStream);
            outputStream.close();
            ftpClient.logout();
            ftpClient.disconnect();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    3)向FTP服务器上传一个文件:

    void putButton_actionPerformed(ActionEvent e) {
        String server = serverEdit.getText();
        String user = userEdit.getText();
        String password = passwordEdit.getText();
        String path = pathEdit.getText();
        String filename = filenameEdit.getText();
        try {
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect(server);
            ftpClient.login(user, password);
            if (path.length() != 0)
                ftpClient.changeWorkingDirectory(path);
            FileInputStream inputStream = new FileInputStream(new File(filename));
            ftpClient.storeFile(filename, inputStream);
            inputStream.close();
            ftpClient.logout();
            ftpClient.disconnect();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    请注意,以上示例代码使用的是Apache Commons Net库中的FTPClient类。您需要确保已将相关库文件添加到项目中,并在代码中进行引入。此外,根据您的需求和环境设置,可能需要进行适当的异常处理和其他调整。

  • 相关阅读:
    C语言笔试题:将字符串中的单词倒序
    docker的组件和资源管理
    Java入门 集合框架、泛型和Collection(补充)(第二十三天)
    PyCharm运行Nosetests并导出测试报告
    常用python包环境命令总结
    一看就会 MotionLayout使用的几种方式
    秋招面试!学历不是问题!大专老哥浅谈阿里/腾讯/京东Java后端面试经历,轻松上岸入职京东!
    【论文分享】LibAFL: A Framework to Build Modular and Reusable Fuzzers
    汉诺塔-python递归
    Netty(10)协议设计与解析(IdleStateHandler:空闲检测器、心跳)
  • 原文地址:https://blog.csdn.net/qq_29639425/article/details/133673706