ProblemThe Java documentation doesn't have methods for opening files. How do I connect a filename on disk with a Reader, Writer, or Stream? SolutionConstruct a FileReader , FileWriter, FileInputStream, or FileOutputStream. DiscussionThe action of constructing a FileReader, FileWriter, FileInputStream, or FileOutputStream corresponds to the "open" operation in most I/O packages. There is no explicit open operation, perhaps as a kind of rhetorical flourish of the Java API's object-oriented design. So to read a text file, you'd create, in order, a FileReader and a BufferedReader . To write a file a byte at a time, you'd create a FileOutputStream and probably a BufferedOutputStream for efficiency: // OpenFileByName.java BufferedReader is = new BufferedReader(new FileReader("myFile.txt")); BufferedOutputStream bytesOut = new BufferedOutputStream( new FileOutputStream("bytes.dat")); ... bytesOut.close( ); Remember that you need to handle IOExceptions around these calls. |