001: /*
002: * @(#)FileWriter.java 1.19 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027:
028: package java.io;
029:
030: /**
031: * Convenience class for writing character files. The constructors of this
032: * class assume that the default character encoding and the default byte-buffer
033: * size are acceptable. To specify these values yourself, construct an
034: * OutputStreamWriter on a FileOutputStream.
035: *
036: * <p>Whether or not a file is available or may be created depends upon the
037: * underlying platform. Some platforms, in particular, allow a file to be
038: * opened for writing by only one <tt>FileWriter</tt> (or other file-writing
039: * object) at a time. In such situations the constructors in this class
040: * will fail if the file involved is already open.
041: *
042: * <p><code>FileWriter</code> is meant for writing streams of characters.
043: * For writing streams of raw bytes, consider using a
044: * <code>FileOutputStream</code>.
045: *
046: * @see OutputStreamWriter
047: * @see FileOutputStream
048: *
049: * @version 1.11, 00/02/02
050: * @author Mark Reinhold
051: * @since JDK1.1
052: */
053:
054: public class FileWriter extends OutputStreamWriter {
055:
056: /**
057: * Constructs a FileWriter object given a file name.
058: *
059: * @param fileName String The system-dependent filename.
060: * @throws IOException if the named file exists but is a directory rather
061: * than a regular file, does not exist but cannot be
062: * created, or cannot be opened for any other reason
063: */
064: public FileWriter(String fileName) throws IOException {
065: super (new FileOutputStream(fileName));
066: }
067:
068: /**
069: * Constructs a FileWriter object given a file name with a boolean
070: * indicating whether or not to append the data written.
071: *
072: * @param fileName String The system-dependent filename.
073: * @param append boolean if <code>true</code>, then data will be written
074: * to the end of the file rather than the beginning.
075: * @throws IOException if the named file exists but is a directory rather
076: * than a regular file, does not exist but cannot be
077: * created, or cannot be opened for any other reason
078: */
079: public FileWriter(String fileName, boolean append)
080: throws IOException {
081: super (new FileOutputStream(fileName, append));
082: }
083:
084: /**
085: * Constructs a FileWriter object given a File object.
086: *
087: * @param file a File object to write to.
088: * @throws IOException if the file exists but is a directory rather than
089: * a regular file, does not exist but cannot be created,
090: * or cannot be opened for any other reason
091: */
092: public FileWriter(File file) throws IOException {
093: super (new FileOutputStream(file));
094: }
095:
096: /**
097: * Constructs a FileWriter object given a File object. If the second
098: * argument is <code>true</code>, then bytes will be written to the end
099: * of the file rather than the beginning.
100: *
101: * @param file a File object to write to
102: * @param append if <code>true</code>, then bytes will be written
103: * to the end of the file rather than the beginning
104: * @throws IOException if the file exists but is a directory rather than
105: * a regular file, does not exist but cannot be created,
106: * or cannot be opened for any other reason
107: * @since 1.4
108: */
109: public FileWriter(File file, boolean append) throws IOException {
110: super (new FileOutputStream(file, append));
111: }
112:
113: /**
114: * Constructs a FileWriter object associated with a file descriptor.
115: *
116: * @param fd FileDescriptor object to write to.
117: */
118: public FileWriter(FileDescriptor fd) {
119: super (new FileOutputStream(fd));
120: }
121:
122: }
|