gpt4 book ai didi

java - 更改 ftp 上传位置

转载 作者:行者123 更新时间:2023-12-02 06:54:46 24 4
gpt4 key购买 nike

所以我正在使用 Java 通过 FTP 将文件上传到我的 VPS(Linux Centos 5 64 位)。我用来上传到我的 VPS 的代码是

FTPClient client = new FTPClient();
FileInputStream fis = null;

try {
client.connect(serverip);
client.login("user, pass);
client.setFileType(FTPClient.BINARY_FILE_TYPE);

// Create an InputStream of the file to be uploaded
String filename = Shared.saveLocation + Shared.saveAs;
fis = new FileInputStream(filename);

// Store file to server
client.storeFile(Shared.saveAs, fis);
client.logout();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}

现在代码可以工作了,但我想要的是更改 VPS 上将文件上传到的位置。现在是

serverip/HERE

我有一些文件,所以想将其更改为

serverip/file/HERE

我怎样才能做到这一点?

最佳答案

您可以使用changeCurrentWorkingDirectory()方法更改到所需的目录。进入后,您可以使用 storeFile 写入文件。就像以前一样。

如果目录更改成功,

changeCurrentWorkingDirectory 返回 true,否则返回 false。它需要一个解释为目录路径的字符串。如果路径以斜杠开头,则将其解释为从 ftproot 目录开始的绝对路径。否则它会被解释为相对路径。

修改后的代码可能如下所示:

FTPClient client = new FTPClient();
FileInputStream fis = null;

try
{
client.connect(serverip);
client.login("user, pass);
client.setFileType(FTPClient.BINARY_FILE_TYPE);

// change directory to serverip/file/
if (client.changeWorkingDirectory("/file"))
{
// Create an InputStream of the file to be uploaded
String filename = Shared.saveLocation + Shared.saveAs;
fis = new FileInputStream(filename);

// Store file to server
client.storeFile(Shared.saveAs, fis);
}
client.logout();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (fis != null)
{
fis.close();
}
client.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
}

关于java - 更改 ftp 上传位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17508666/

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