java ftp上传文件只创建了路径,没有文件
时间: 2024-04-29 18:25:51 浏览: 132
可能是因为你在上传文件之前没有创建文件对象,或者没有正确设置上传文件的路径。以下是一个简单的Java FTP上传文件的示例代码,可以参考一下:
```java
import java.io.*;
import org.apache.commons.net.ftp.*;
public class FTPUpload {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String user = "username";
String pass = "password";
String localFilePath = "C:\\myfiles\\file.txt";
String remoteFilePath = "/path/to/remote/file.txt";
try {
FTPClient ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
File localFile = new File(localFilePath);
InputStream inputStream = new FileInputStream(localFile);
ftpClient.makeDirectory(remoteFilePath);
ftpClient.changeWorkingDirectory(remoteFilePath);
ftpClient.storeFile(localFile.getName(), inputStream);
inputStream.close();
ftpClient.logout();
ftpClient.disconnect();
System.out.println("File uploaded successfully.");
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
}
}
}
```
在这个示例中,我们首先建立与FTP服务器的连接,然后登录并进入被动模式。接下来,我们创建本地文件对象和输入流,然后使用FTPClient的makeDirectory()方法创建远程文件夹。注意,如果文件夹已经存在,就不需要再次创建。然后,我们使用FTPClient的changeWorkingDirectory()方法切换到远程文件夹,并使用storeFile()方法上传本地文件。最后,我们关闭输入流、注销并断开连接。
阅读全文