在FTP服务器(Commons-net)中创建文本文件

塔达斯

我需要有关Java Networking编程的帮助。我试图创建一个新的文本文件到FTP服务器。我在Internet上找到了此代码示例,但它仅创建一个目录。如何将其更改为文本文件格式?

这是代码:

public class FTPCreateDirDemo {
private static void showServerReply(FTPClient ftpClient) {
    String[] replies = ftpClient.getReplyStrings();
    if (replies != null && replies.length > 0) {
        for (String aReply : replies) {
            System.out.println("SERVER: " + aReply);
        }
    }
}
public static void main(String[] args) {
    String server = "www.yourserver.com";
    int port = 21;
    String user = "username";
    String pass = "password";
    FTPClient ftpClient = new FTPClient();
    try {
        ftpClient.connect(server, port);
        showServerReply(ftpClient);
        int replyCode = ftpClient.getReplyCode();
        if (!FTPReply.isPositiveCompletion(replyCode)) {
            System.out.println("Operation failed. Server reply code: " + replyCode);
            return;
        }
        boolean success = ftpClient.login(user, pass);
        showServerReply(ftpClient);
        if (!success) {
            System.out.println("Could not login to the server");
            return;
        }
        // Creates a directory
        String dirToCreate = "/upload123";
        success = ftpClient.makeDirectory(dirToCreate);
        showServerReply(ftpClient);
        if (success) {
            System.out.println("Successfully created directory: " + dirToCreate);
        } else {
            System.out.println("Failed to create directory. See server's reply.");
        }
        // logs out
        ftpClient.logout();
        ftpClient.disconnect();
    } catch (IOException ex) {
        System.out.println("Oops! Something wrong happened");
        ex.printStackTrace();
    }
}

对不起,我的英语不好。

乔尔

我不是该库的专家,但我认为FTP不仅仅是从远程服务器发送/接收文件,而不仅仅是直接访问远程文件系统。因此,要创建远程文件,您应该首先在本地(例如,在临时目录中)创建它,然后将其发送到远程服务器。检查文档:https : //commons.apache.org/proper/commons-net/javadocs/api-1.4.1/org/apache/commons/net/ftp/FTPClient.html

尤其是这种方法:

public boolean storeFile(String remote, InputStream local)
              throws IOException

给定本地文件“ foo.txt”,您可以创建一个InputStream并使用该输入流将文件发送到远程端:

    try (FileInputStream inputStream = new FileInputStream("foo.txt");) {
        ftpClient.storeFile("foo.txt", inputStream);
    }

[edit]请注意,由于这些方法将InputStream作为参数,因此最终可以使用本地文件以外的其他内容作为输入:您也可以直接从String读取。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从find命令的输出中创建文本文件,然后使用SFTP将文本文件发送到远程服务器

通过网站在主机服务器上创建文本文件

用于在所有驱动器中创建文本文件的 Powershell 脚本

如何通过输入EditText字段(纯文本)在服务器上编写/创建文本文件?

如何在解决方案资源管理器中创建文本文件?

无法使用Apache Commons FTPClient访问FTP服务器上的子文件夹

Java的FTP org.apache.commons.net.MalformedServerReplyException:截断服务器响应: '220'

如何删除ftp服务器上的文本文件中的所有文本,而不删除vb.net中的文件本身

电子邮件与FTP服务器相比,可以传输许多小文本文件

如何将文本文件 (txt) 写入我的 ftp 服务器?

将文本文件从 Android 写入 PHP 服务器是否正在创建空白文本文件?

访问ftp服务器中的文件

在PHP脚本所在的目录中的FTP服务器上创建文件夹

从/向ftp服务器移动文件

Java:从FTP服务器访问文件

FTP服务器文件下载问题

从ftp服务器下载txt文件

可以记录到ASP.net WEb服务器中的文本文件导致锁定

在Windows资源管理器中使用键盘快捷键创建文本文件

如何读取服务器上的文本文件?

从ASP .NET 4.0 Web服务在远程服务器中创建文件时出错

调试从服务器读取文本文件的C#代码中的相关错误

在服务器上的文本文件中写入数据

使用PHP在FTP服务器上创建文件夹

具有动态创建文件的Python FTP服务器

从Java中的FTP服务器下载/复制文件

在露天社区中配置FTP文件服务器?

如何使文件在FTP服务器中可见

写入保存在ftp服务器中的文件