Sams Teach Yourself Java 2 in 24 Hours
- Table of Contents
- Copyright
- About the Author
- About the Technical Editor
- Acknowledgments
- We Want to Hear from You!
- Reader Services
- Introduction
- Hour 1. Becoming a Programmer
- Hour 2. Writing Your First Program
- Hour 3. Vacationing in Java
- Hour 4. Understanding How Java Programs Work
- Part II: Learning the Basics of Programming
- Hour 5. Storing and Changing Information in a Program
- Hour 6. Using Strings to Communicate
- Hour 7. Using Conditional Tests to Make Decisions
- Hour 8. Repeating an Action with Loops
- Part III: Working with Information in New Ways
- Hour 9. Storing Information with Arrays
- Hour 10. Creating Your First Object
- Hour 11. Describing What Your Object Is Like
- Hour 12. Making the Most of Existing Objects
- Part IV: Programming a Graphical User Interface
- Hour 13. Building a Simple User Interface
- Hour 14. Laying Out a User Interface
- Hour 15. Responding to User Input
- Hour 16. Building a Complex User Interface
- Part V: Creating Multimedia Programs
- Hour 17. Creating Interactive Web Programs
- Hour 18. Handling Errors in a Program
- Hour 19. Creating a Threaded Program
- Hour 20. Reading and Writing Files
- Streams
- Writing Data to a Stream
- Workshop: Writing Bytes to an MP3 File
- Summary
- Q&A
- Quiz
- Questions
- Activities
- Part VI: Creating Multimedia Programs
- Hour 21. Using Fonts and Color
- Hour 22. Playing Sound Files
- Hour 23. Working with Graphics
- Hour 24. Creating Animation
- Part VII: Appendixes
- Appendix A. Tackling New Features of Java 2 Version 1.4
- Appendix B. Using the Java 2 Software Development Kit
- Appendix C. Programming with the Java 2 Software Development Kit
- Appendix D. Using Sun ONE Studio
- Appendix E. Where to Go from Here: Java Resources
- Appendix F. This Book's Web Site
Writing Data to a Stream
In the java.io package, the classes for working with streams come in matched sets. There are FileInputStream and FileOutputStreams classes for working with byte streams, FileReader and FileWriter classes for working with character streams, and many other sets for working with other kinds of stream data.
To begin reading data from a stream of bytes, you first create a File object that will be associated with an output stream. This file doesn't have to exist on your system.
You can create a FileOutputStream in two ways. If you want to append bytes onto an existing file, call the FileOutputStream() constructor method with two arguments: a File object representing the file and the boolean of true. The bytes you write to the stream will be tacked onto the end of the file.
If you want to write bytes into a new file, call the FileOutputStream() constructor method with a File object as its only object.
Once you have an output stream, you can call different write() methods to write bytes to it:
- Call write() with a byte as its only argument to write that byte to the stream.
- Call write() with a byte array as its only argument to write all of the array's bytes to the stream.
- Specify three arguments to the write() method: a byte array, an integer representing the first element of the array to write to the stream, and the number of bytes to write.
The following statement creates a byte array with 10 bytes and writes the last five to an output stream:
File dat = new File("data.dat");
FileOutputStream datStream = new FileOutputStream(dat);
byte[] data = new { 5, 12, 4, 13, 3, 15, 2, 17, 1, 18 };
datStream.write(data, 5, 5);
After you have finished writing bytes to a stream, you close it by calling the stream's close() method.
Workshop: Writing Bytes to an MP3 File | Next Section

Account Sign In
View your cart