Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Signed Applet - Problem reading large local files



FYI, the limit of a String is the number of chars that fit in an int.
(String manages a char array internally), so 2^31 - 1 chars, approx.
2.1 billion.  Remember... java chars are 2 bytes, so file size might
not translate equally depending on the file encoding....but it will
definitely handle several MBs :)

-jason


On Wed, Dec 08, 2004 at 04:06:46PM +0000, Alan McMorran wrote:
> Well I'm having functions generate strings of between 2-3Mb no problems at
> all (XML file for a 100-bus power network if you're wondering). Not sure
> what the limits to the size of a String is, but so far, not met it.
> 
> Alan
> 
> 
> On 8/12/04 4:02 pm, "Michael Rasmussen" <email@hidden> wrote:
> 
> > Using a string buffer may help you out.  Also, I am not sure at all on
> > this so I am asking what the maximum size for a string is, A 512 KB
> > string seems big.
> > Michael
> > 
> > 
> > On Wed, 08 Dec 2004 15:38:33 +0000, Alan McMorran <email@hidden> wrote:
> >> Since I seem to have gotten into the bad habit of replying to my own
> >> emails...
> >> 
> >> 
> >> 
> >>> Then put the string into a file, but the time taken increased exponentially
> >>> as the number of objects increased. When I changed it to:
> >>> 
> >>> PrintWriter fileOutput = new PrintWriter(new FileWriter(new
> >>> File("outputFile"));
> >>> 
> >>> For (int I=0; I<objects.length; I++){
> >>>     fileOutput.println(objects[I].outputXML());
> >>> }
> >>> 
> >>> I know it's not an exact solution, and puts the output into a file rather
> >>> than to a variable, but that's because I'm using a FileWriter for my
> >>> implementation, and I'm sure there are other ways to use a PrintWriter
> >>> rather than outputting to a file that would solve your problem.
> >> 
> >> You can do:
> >> 
> >> StringWriter stringOutput = new StringWriter();
> >> PrintWriter printOutput = new PrintWriter(stringOutput);
> >> For (int I=0; I<objects.length; I++){
> >>      printOutput.println(objects[I].outputXML());
> >> }
> >> printOutput.close();
> >> 
> >> Return stringOutput.toString();
> >> 
> >> And that should return a String and doesn't seem to have the bottlenecks you
> >> get when doing += on a String object.
> >> 
> >> Hope that helps.
> >> 
> >> Alan
> >> 
> >> 
> >> 
> >> 
> >>  _______________________________________________
> >> Do not post admin requests to the list. They will be ignored.
> >> Java-dev mailing list      (email@hidden)
> >> Help/Unsubscribe/Update your Subscription:
> >> http://lists.apple.com/mailman/options/java-dev/email@hidden
> >> 
> >> This email sent to email@hidden
> >> 
> > 
> 
> ------ End of Forwarded Message
> 
> 
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Java-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/java-dev/email@hidden
> 
> This email sent to email@hidden

-- 
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden

This email sent to email@hidden

References: 
 >Re: Signed Applet - Problem reading large local files (From: Alan McMorran <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.