Commons Net
  1. Commons Net
  2. NET-46

[FTP] retrieveFileStream fails randomly or hangs

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.4, 3.1
    • Fix Version/s: 3.2
    • Component/s: FTP
    • Labels:
      None
    • Environment:

      Operating System: Windows XP
      Platform: PC

      Description

      For my application I need a way to get the InputStream of a binary file on a
      FTPServer. What I did was :

      // connect and get ftpFiles as an array
      // for each ftpFile ...

      InputStream is = ftp.retrieveFileStream(ftpFiles[i].getName());

      However, this behaves erratically : sometimes the inputstream is correct and
      sometimes it is null (and the ftpFile exists, no weird name or anything odd
      about it).

      After first blaming my FTPServer (I use GuildFTPd 0.9.9.13) I tried another
      FTPServer (Serv-U 6.1), but this also had the same behavior.

      Then I thought I might have to do with timing. So I tried Thread.sleep(xxx) on a
      couple of locations but to no avail. In a last attempt (was getting pretty
      desperate ) I rewrote my original line and replaced it by this :

      ByteArrayOutputStream out = new ByteArrayOutputStream();
      ftp.retrieveFile(ftpFiles[i].getName(),out);
      InputStream is = new ByteArrayInputStream(out.toByteArray());

      And much to my surprise, it worked like a charm. Tested it a couple of times (on
      both FTPServer products) and works perfectly.

      So I'm guessing something is going wrong in your retrieveFileStream
      implementation. Maybe something worth looking into ? (easiest fix : use the
      ByteArrayOut/InputStream swap ).

      kind regards,

      Dennis

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Dennis Meerveld
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development