无法使用java从ftp服务器下载文件
我试图使用java从ftp服务器下载文件,但收到错误消息。据我所知,我已经尽力了,但无法解决这个问题。。。 下面给出了完整的源代码无法使用java从ftp服务器下载文件,java,ftp,Java,Ftp,我试图使用java从ftp服务器下载文件,但收到错误消息。据我所知,我已经尽力了,但无法解决这个问题。。。 下面给出了完整的源代码 import java.io.*; import org.apache.commons.net.ftp.*; public class FTPDownloadFileDemo { public static void main(String[] args) { String server = "www.mydomain.com"; int po
import java.io.*;
import org.apache.commons.net.ftp.*;
public class FTPDownloadFileDemo {
public static void main(String[] args) {
String server = "www.mydomain.com";
int port = 21;
String user = "username";
String pass = "password";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
String remoteFile1 = "/xxxx/xxx/2015/01(Jan)/01-02/filename.PDF";
File downloadFile1 = new File("E:/Test/filename.PDF");
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
if (success) {
System.out.println("File #1 has been downloaded successfully.");
}
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
我在哪里犯的错。。?
请帮帮我
编辑:
错误消息如下所示
Error: Permission denied: recv failed
java.net.SocketException: Permission denied: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.net.telnet.TelnetInputStream.__read(TelnetInputStream.java:114)
at org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream.java:535)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.commons.net.telnet.TelnetClient._flushOutputStream(TelnetClient.java:77)
at org.apache.commons.net.telnet.TelnetOutputStream.flush(TelnetOutputStream.java:137)
at java.io.FilterOutputStream.flush(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:442)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:520)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:569)
at org.apache.commons.net.ftp.FTP.quit(FTP.java:781)
at org.apache.commons.net.ftp.FTPClient.logout(FTPClient.java:706)
at FTPDownloadFileDemo.main(FTPDownloadFileDemo.java:60)
在
try
块中的语句中,每次删除最后一个语句,直到没有错误或只有一个错误,然后告诉我们您删除的最后一个语句是什么:这就是导致错误的语句。@Saposhiente'boolean success=ftpClient.retrieveFile(remoteFile1,outputStream1);'这一行导致了错误。。。