在java应用程序中使用ftp4j库下载/上载时发生FTP错误
我想在java应用程序中下载一个文件,当我尝试它时,它会在我的硬盘上创建该文件,但无法完全下载。我正在使用ftp4j库来完成这项工作在java应用程序中使用ftp4j库下载/上载时发生FTP错误,java,ftp,ftp-client,ftp4j,Java,Ftp,Ftp Client,Ftp4j,我想在java应用程序中下载一个文件,当我尝试它时,它会在我的硬盘上创建该文件,但无法完全下载。我正在使用ftp4j库来完成这项工作 import it.sauronsoftware.ftp4j.*; public class Main { public static void main (String args[]){ FTPClient client = new FTPClient(); try{ client.connect("ftp.myaddress.comlu
import it.sauronsoftware.ftp4j.*;
public class Main {
public static void main (String args[]){
FTPClient client = new FTPClient();
try{
client.connect("ftp.myaddress.comlu.com");
client.login("username", "password");
System.out.println("Connection created");
client.download("public_html/ZScreen.png", new java.io.File("d:/xxx/ZScreen.png"));
System.out.println("Download successful");
client.disconnect(true);
}
catch (Exception FTPException){
System.out.println("Shit hit the fan");
}
}
}
我总是建立连接,然后他妈的打风扇。另外,在我的硬盘上创建了一个文件,但它的大小是0字节
这是堆叠比赛
Connection created
java.net.SocketException: Connection reset
Shit hit the fan
at java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:126)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:112)
at java.io.InputStreamReader.read(InputStreamReader.java:168)
at it.sauronsoftware.ftp4j.NVTASCIIReader.readLine(NVTASCIIReader.java:105)
at it.sauronsoftware.ftp4j.FTPCommunicationChannel.read(FTPCommunicationChannel.java:142)
at it.sauronsoftware.ftp4j.FTPCommunicationChannel.readFTPReply(FTPCommunicationChannel.java:187)
at it.sauronsoftware.ftp4j.FTPClient.openPassiveDataTransferChannel(FTPClient.java:3538)
at it.sauronsoftware.ftp4j.FTPClient.openDataTransferChannel(FTPClient.java:3473)
at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3302)
at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3213)
at it.sauronsoftware.ftp4j.FTPClient.download(FTPClient.java:3078)
at Main.main(Main.java:9)
您没有在文件夹上写入的权限。检查曲目是否处于“只读”状态。您没有在该文件夹上写入的权限。检查程序库是否处于“只读”状态。显然,Windows 7防火墙上存在一个与在IPv6上使用FTP相关的错误,这可以解释您的问题。请参阅错误报告 以下任何一种解决方法都应足以解决此问题:
- 在Windows控制台中以管理员身份运行以下操作:
netsh advfirewall set global StatefulFtp disable
- 使用以下选项运行JVM:
-Djava.net.preferIPv4Stack=true
- 在Windows控制台中以管理员身份运行以下操作:
netsh advfirewall set global StatefulFtp disable
- 使用以下选项运行JVM:
-Djava.net.preferIPv4Stack=true
catch(Exception e){e.printStackTrace();}
而不是您现在使用的catch
块…谢谢,我将用stack trace编辑我的帖子。没有stack trace。我可能插入了错误的异常类型trycatch(Exception e){e.printStackTrace();}
而不是您现在使用的catch
块…谢谢,我将使用stack traceupvoting编辑我的帖子,因为我遇到了类似的问题,这就是我需要的线索。谢谢你投票,因为我也遇到了类似的问题,这就是我需要的线索。非常感谢。