commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Max (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (NET-349) FTPClient.listFiles() returns a file entry containing a new line character only up to the new line character
Date Tue, 11 Jan 2011 19:52:46 GMT

    [ https://issues.apache.org/jira/browse/NET-349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980291#action_12980291
] 

Max edited comment on NET-349 at 1/11/11 2:51 PM:
--------------------------------------------------

One solution:

Modify UnixFTPEntryParser.java:

     private static final String REGEX =
"+(?s)+([bcdelfmpSs-])"


Modify FTPFileEntryParserImpl.java:

     public String readNextEntry(BufferedReader reader) throws IOException
     {
-return reader.readLine();-
+String entry = reader.readLine();+
+String line = null;+
+do+
+{+
+reader.mark(256);+
+line = reader.readLine();+
+if(line == null || line.equals("") || matches(line))+
+{+
+reader.reset();+
+line = null;+
+break;+
+}+
+else+
+{+
+entry += "\n"+line;+
+}+
+} while(StringUtils.isNotBlank(line));+
+return entry;+
    }


      was (Author: maxf):
    One solution:

Modify UnixFTPEntryParser.java:

     private static final String REGEX =
"+(?s)+([bcdelfmpSs-])"


Modify FTPFileEntryParserImpl.java:

     public String readNextEntry(BufferedReader reader) throws IOException
     {
-return reader.readLine();-
+String entry = reader.readLine();+
 +String line = null;+
+do+
+ {+
+reader.mark(256);+
+line = reader.readLine();+
+if(line == null || line.equals("") || matches(line))+
+{+
+reader.reset();+
+line = null;+
+break;+
+}+
+else+
+{+
+entry += "\n"+line;+
+}+
+} while(StringUtils.isNotBlank(line));+
+return entry;+
    }

  
> FTPClient.listFiles() returns a file entry containing a new line character only up to
the new line character
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: NET-349
>                 URL: https://issues.apache.org/jira/browse/NET-349
>             Project: Commons Net
>          Issue Type: Bug
>          Components: FTP
>    Affects Versions: 2.2
>         Environment: Linux localhost 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005
i686 i686 i386 GNU/Linux
> RedHat Enterprise Linux
>            Reporter: Max
>            Priority: Minor
>
> Create 3 files
> File with new lines:
> echo > 'test
> line1
> line2
> line3.txt'
> 2 files without:
> echo > test1
> echo > testz
> connect via ftpclient to the server containing these files, switch to that  directory
and call listFiles().
> The file with new lines will return as test and trailing components of the path will
be missing.
> FTPFileEntryParserImpl.readNextEntry() is using BufferedReader.readLine() to identify
the end of the entry. May be some other approach is needed to identify the end of the entry,
since file names with new lines although undesired, are actually valid in unix environments.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message