gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:02:16 25 4
gpt4 key购买 nike

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

代码如下:

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);
}

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

关于java - 在 FTP 服务器 (Commons-net) 中创建一个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26073976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com