当前位置: 首页 > 知识库问答 >
问题:

从java代码下载Ftp文件

乐正光誉
2023-03-14

我有这个代码来下载一个文件。

    import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTPClient;
public class NetTest {
public static void main(String[] args){
FTPClient client = new FTPClient( );
OutputStream outStream;
    try {

这是服务器和密码的一部分。

   client.connect( "servername" );
    client.login("noman123", "pass");
    String remoteFile = "/a.txt";
    outStream = new FileOutputStream( "a.txt" );

简单的填充下载,但此行出错

    client.retrieveFile( remoteFile, outStream );
} catch(IOException ioe) {
    System.out.println( "Error communicating with FTP server." );
} finally {
    try {
        client.disconnect( );
    } catch (IOException e) {
        System.out.println( "Problem disconnecting from FTP server" );
    }
}

}
}

它给了我错误,我希望你能理解我现在面临的问题

java.net.SocketExc0019:软件导致连接中止:套接字写入错误在java.net.SocketOutputStream.socketWrite0(本地方法)在java.net.SocketOutputStream.socket写入(SocketOutputStream.java:109)在java.net.SocketOutputStream.write(SocketOutputStream.java:153)在sun.nio.cs.StreamEncoder.write字节(StreamEncoder.java:221)在sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)在sun.nio.cs.流ncoder.impl冲洗(流ncoder.java:295)在sun.nio.cs.流ncoder.flush(流编码器. java: 141)在java. io.输出流作家. flush(输出流作家. java: 229)在java. io. BufferedWriter. flush(BufferedWriter. java: 254)在org. apache.联合体. net. ftp. FTP.__send(FTP. java: 496)在org. apache.联合体. net. ftp. FTP. send命令(FTP. java: 470)在org. apache.联合体. net. ftp.FTPClient. openDataConnection(FTPClient. java: 667),位于org. apache. FTPClient. net. ftp. FTPClient. ReteveFile(FTPClient. java: 1595),位于FtpDownloadDemo. main(FtpDownloadDemo. java: 25)

共有3个答案

充小云
2023-03-14

关于给定示例代码的文档,如果您位于防火墙后面,则应调用FTPClient的enterLocalPassiveMode方法。

冉俊德
2023-03-14

确保你可以ping服务器并手动登录,但是假设你在那里没事,我还会做两件事。

1) 根据FTP客户端文档,检查您是否真正连接

// After connection attempt, you should check the reply code to verify success.
reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
        { // print more complete error }

这里有一个完整的例子。

2)可能是因为您正在尝试获取远程文件/a.txt,而您的ftp服务器没有设置为允许您访问。请尝试在ftp客户端设置为将用户转储到的目录中的a.txt。

屠嘉
2023-03-14

关掉这个问题firewall.in

 类似资料:
  • 问题内容: 在Windows中使用Java代码,我需要从放置在服务器中的目录中下载几个文件。服务器中的那些文件是分别生成的。所以我不知道这些文件的名称。有什么方法可以使用JAVA下载它并将其保存在特定的文件夹中。 我正在使用apache tomcat。 我阅读了与Java文件下载相关的所有其他线程。但是他们都不满足我的要求。 问题答案: 使用和分类。

  • 我正试图下载一些公共数据文件。我通过screensrap获取指向文件的链接,这些文件看起来都是这样的: 我在Requests library网站上找不到任何文档。

  • 问题内容: 我需要从FTP读取CSV文件头。 由于这些文件可能非常庞大,因此我不需要下载它们。 有没有办法从FTP读取CSV文件的第一行并中止连接? 问题答案: 只需阅读第一行,忽略剩余内容并关闭流。智能FTP客户端不会在提供任何内容供读取之前将 整个 流缓冲在内存中。 假设您使用的是Apache Commons Net FTPClient:

  • 我必须从FTP服务器下载最新文件。我知道如何从我的计算机下载最新文件,但我不知道如何从FTP服务器下载。 如何从FTP服务器下载最新文件? 这是我从电脑上下载最新文件的程序 好的,使用此代码我知道最后一个文件的日期,但我如何知道这个文件的名称?????????

  • 本文向大家介绍java文件上传下载代码实例,包括了java文件上传下载代码实例的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java文件上传下载的具体代码,供大家参考,具体内容如下 文件上传 文件下载 以上所述是小编给大家介绍的java文件上传下载详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 问题内容: 我有FTP,我需要在上载目录中列出FTP中的所有文件,单击任何列出的文件后,它将从FTP下载特定文件。 它在上载目录中列出了我的文件,但是当我尝试下载文件时,它会键入“没有文件” 我的代码: 问题答案: 您在生成的标记中的链接指向不包含链接文件的Web服务器。 您需要做的是链接到PHP脚本,并为其指定要下载的文件的名称。然后,脚本将从FTP服务器下载文件,并将下载的文件传递回用户(至W