[ 
https://issues.apache.org/jira/browse/FILEUPLOAD-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664912#action_12664912
 ] 

Stepan Koltsov commented on FILEUPLOAD-159:
-------------------------------------------

Seems like it is a bug.

I think "int read()" is not really needed (because, most users call 
"read(byte[], ...)" methods).

I propose refactoring of read() method to

{code}
int read() {
    byte[] buffer = new byte[1];
    int count = read(buffer);
    if (count < 0) return -1;
    if (count == 0) throw new Error(); // read(byte[]) method is not allowed to 
return 0
    return buffer[0] & 0xFF;
}
{code}

It is a bit slower, but avoids code duplication between read methods.

> MultipartStream.position method
> -------------------------------
>
>                 Key: FILEUPLOAD-159
>                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-159
>             Project: Commons FileUpload
>          Issue Type: Improvement
>    Affects Versions: Nightly Builds
>            Reporter: Stepan Koltsov
>         Attachments: commons-fileupload-position-2008-05-28.diff
>
>
> Attached patch adds MultipartStream.position() method, that returns current 
> position withing InputStream plus offset in buffer. I. e. current parser 
> position.
> Use case is parsing multipart that is stored as file on disk: at first run we 
> read that file and saving part offsets (by calling position() methods). Then 
> we can randomly access all parts without storing parts as separate files on 
> disk.

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

Reply via email to