Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #11185
| From | Jeff Higgins <jeff@invalid.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: append() vs. write() |
| Date | 2012-01-10 13:14 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <jehuph$bi2$1@dont-email.me> (permalink) |
| References | <3d2746a6-f57c-4fa1-b547-dfddc23bb6b6@n30g2000yqd.googlegroups.com> |
On 01/10/2012 11:17 AM, Benjamin Trendelkamp-Schroer wrote:
> Hi,
>
> I want to write a method that can write possibly large matrices of
> floating point numbers in scientific notation to human readable ascii
> files. I want to be able to specify the formatting of the floating
> point numbers usins format strings like "%1.8e" or "%2.5f".
>
> From what I take from the java doc. I can do something like
>
> i) java.io.File file = new java.io.File(pathnameOfMyFile);
> java.io.FileWriter fileWriter = new java.io.FileWriter(file);
> java.util.Formatter f = new java.util.Formatter(fileWriter);
> for(int i ...){
> for(int j ...){
> f.format("%1.8e", Matrix.getEntry(i,j))
> f.format("%s", columnSeparator) //columnSeparator = "
> " (for example)
> }
> f.format("%s", rowSeparator) // rowSeparator="\n" (for example)
> }
>
> ii) Use a buffered writer which is adviced as being good practice in
> all tutorials since it has a buffered write method. But as far as I
> understand Formatter does only use the format method of the Appendable
> interface and not the bufered write method. If my Matrix gets very
> large (say 10000 rows and columns) I would have to put each row in an
> appropriately formatted String o0r StringBuffer, calling the append
> method on the StringBuffer through the format method of Formatter many
> times and use write to output it to the buffered writer. But this
> string would be quite large + I would have to create that string and
> the Formatter for each new row (using for example
> StringBuffer.toString(), Formatter(StringBuffer)).
>
> I am asking because I am not sure what is the best practice hear. My
> favorite solution would be to have a method that I could just pass a
> Formatter to so that I could use that formatter object to call other
> methods doing the formatting on the level of single entries of my
> matrix without the need to create a lot of formatter objects. But on
> the other hand I would like to make writing out to files as fast as
> possible and do not want to suffer performance penalties from
> repeatedly calling an append() method where it would be advisable to
> make fewer calls to write with string containing more characters.
>
> I am quite new to Java so I would appreciate any help with that and
> ask you to excuse any obvious mistakes and style flaws that I have
> made.
PrintWriter.append(DecimalFormat.format(myFPNumber,null,null))?
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
append() vs. write() Benjamin Trendelkamp-Schroer <benjamin.trendelkampschroer@googlemail.com> - 2012-01-10 08:17 -0800
Re: append() vs. write() Jeff Higgins <jeff@invalid.invalid> - 2012-01-10 13:14 -0500
Re: append() vs. write() markspace <-@.> - 2012-01-10 13:30 -0800
Re: append() vs. write() Jeff Higgins <jeff@invalid.invalid> - 2012-01-10 16:48 -0500
Re: append() vs. write() Jeff Higgins <jeff@invalid.invalid> - 2012-01-10 17:15 -0500
Re: append() vs. write() Jeff Higgins <jeff@invalid.invalid> - 2012-01-10 18:35 -0500
Re: append() vs. write() Jeff Higgins <jeff@invalid.invalid> - 2012-01-10 19:01 -0500
Re: append() vs. write() Lew <noone@lewscanon.com> - 2012-01-10 18:06 -0800
csiph-web