Uploaded image for project: 'Commons Net'
  1. Commons Net
  2. NET-46

[FTP] retrieveFileStream fails randomly or hangs

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              dennis.meerveld@ubench.com Dennis Meerveld
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: