Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用FTPClient时获取FTP文件时出错_Java_Ftp_Ftp Client_Apache Commons Net - Fatal编程技术网

Java 使用FTPClient时获取FTP文件时出错

Java 使用FTPClient时获取FTP文件时出错,java,ftp,ftp-client,apache-commons-net,Java,Ftp,Ftp Client,Apache Commons Net,我得到以下异常,而ftp文件转移到其他一些机器 org.apache.commons.net.io.CopyStreamException: IOException caught while copying. at org.apache.commons.net.io.Util.copyStream(Util.java:119) at org.apache.commons.net.io.Util.copyStream(Util.java:151) at org.apache

我得到以下异常,而ftp文件转移到其他一些机器

org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
    at org.apache.commons.net.io.Util.copyStream(Util.java:119)
    at org.apache.commons.net.io.Util.copyStream(Util.java:151)
    at org.apache.commons.net.io.Util.copyStream(Util.java:162)
    at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:373)
    at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1360)
    at com.fs.ftp.FTPUsingFTPClientApache.startFTP(FTPUsingFTPClientApache.java:40)
    at com.fs.ftp.FTPUsingFTPClientApache.main(FTPUsingFTPClientApache.java:17)
我用于FTP的代码类似于:-

FTPClient ftpClient = new FTPClient();
ftpClient.connect("home.abc.com");
ftpClient.login("remote", "guesst12");
int replyCode = ftpClient.getReplyCode();
if(FTPReply.isPositiveCompletion(replyCode)) {
    System.out.println("Connection proper");
}

if(ftpClient.changeWorkingDirectory("share")) {
    System.out.println("Directory Change Succesfull");
}
InputStream input = new FileInputStream(new File("H:/testFile.txt"));
BufferedInputStream inputStrean = new BufferedInputStream(input);
if(ftpClient.storeFile("testFile.txt", input)) {
    System.out.println("File Stored Successfully");
}
input.close();
inputStrean.close();
ftpClient.logout();
ftpClient.disconnect();
我在第
行ftpClient.storeFile(“testFile.txt”,input)
中得到上述异常

我是否遗漏了什么,或者使用方法不正确


感谢

捕获该异常,调用其
getIOException()
方法获取导致问题的异常,并打印其堆栈跟踪。这将告诉您是什么
IOException
导致复制失败。

如果文件0KB(示例PDF文件)在被ftps传输后出现问题,则必须强制被动模式并设置文件类型

            ftps.setFileType(FTP.BINARY_FILE_TYPE);
            ftps.enterLocalPassiveMode();
            ftps.execPBSZ(0) ;
            ftps.execPROT("P") ;

我想支持上述解决方案,但我还没有足够的声誉。 终于救了我

        ftps.setFileType(FTP.BINARY_FILE_TYPE);
        ftps.enterLocalPassiveMode();
        ftps.execPBSZ(0) ;
        ftps.execPROT("P") ;
顺便说一下,我的问题是“在传输过程中连接被重置”。下面2个命令是我的关键命令。 ftps.execPBSZ(0);
ftps.execPROT(“P”)

根据我的经验,导致此错误的原因是文件系统已满

我在代码
ftpClient.setFileType(ftpClient.BINARY\u FILE\u TYPE)中添加了一行在此之后,代码将正确执行,但在远程计算机上,创建的文件为0KB,没有任何内容。这会有帮助吗?@M.J.-不会的。你改变了问题,而不是解决原来的问题。更有用的是我建议您查看/提供的信息。