This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Using an output stream to write an int to file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Using an output stream to write an int to file" Watch "Using an output stream to write an int to file" New topic
Author

Using an output stream to write an int to file

Adam Ellsworth
Greenhorn

Joined: Sep 25, 2004
Posts: 21
I'm trying to create random numbers(which is working fine) but I need to get them to output to a file to be read later on.



Thats what I'm trying to do now, but nothing is getting put into the text file. Obviously I'm doing something wrong so any help would be appreciated. Thanks.
David Harkness
Ranch Hand

Joined: Aug 07, 2003
Posts: 1646
When APIs don't work as you expect, always look them up in the JavaDocs as your first line of defense.
public void write(int c) throws IOException

Write a single character.

[And from Writer.write(int):

The character to be written is contained in the 16 low-order bits of the given integer value; the 16 high-order bits are ignored.
So it's treating the lower 16 bits of yuor random integer as a Unicode character and writing that. It may be that it can tell the character is invalid; who knows?

The main description for BufferedWriter has a good suggestion: wrap it in a PrintWriter:Now you can use println(int) to write each integer on a line. This writes them as text rather than the bytes as they are stored in memory. If you want to write them as raw bytes (non-human-readable) then use a DataOutputStream wrapped around a FileOutputSteram (BufferedOutputStream inbetween to mirror what you have).

The JavaDocs are your friend. Get to know them well.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Using an output stream to write an int to file
 
Similar Threads
[SOLVED]Bubblesort - Incorrect Sorting
write a int to a file
Adding numbers read from a file to a totalAmount initialized to 0 giving an unexpected result
non-printable delimiter
File renameTo not working