blob: 4cbfecb8049623efc3755071d25469c7ff563785 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 1996-2001 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26package java.io;
27
28
29/**
30 * Convenience class for writing character files. The constructors of this
31 * class assume that the default character encoding and the default byte-buffer
32 * size are acceptable. To specify these values yourself, construct an
33 * OutputStreamWriter on a FileOutputStream.
34 *
35 * <p>Whether or not a file is available or may be created depends upon the
36 * underlying platform. Some platforms, in particular, allow a file to be
37 * opened for writing by only one <tt>FileWriter</tt> (or other file-writing
38 * object) at a time. In such situations the constructors in this class
39 * will fail if the file involved is already open.
40 *
41 * <p><code>FileWriter</code> is meant for writing streams of characters.
42 * For writing streams of raw bytes, consider using a
43 * <code>FileOutputStream</code>.
44 *
45 * @see OutputStreamWriter
46 * @see FileOutputStream
47 *
48 * @author Mark Reinhold
49 * @since JDK1.1
50 */
51
52public class FileWriter extends OutputStreamWriter {
53
54 /**
55 * Constructs a FileWriter object given a file name.
56 *
57 * @param fileName String The system-dependent filename.
58 * @throws IOException if the named file exists but is a directory rather
59 * than a regular file, does not exist but cannot be
60 * created, or cannot be opened for any other reason
61 */
62 public FileWriter(String fileName) throws IOException {
63 super(new FileOutputStream(fileName));
64 }
65
66 /**
67 * Constructs a FileWriter object given a file name with a boolean
68 * indicating whether or not to append the data written.
69 *
70 * @param fileName String The system-dependent filename.
71 * @param append boolean if <code>true</code>, then data will be written
72 * to the end of the file rather than the beginning.
73 * @throws IOException if the named file exists but is a directory rather
74 * than a regular file, does not exist but cannot be
75 * created, or cannot be opened for any other reason
76 */
77 public FileWriter(String fileName, boolean append) throws IOException {
78 super(new FileOutputStream(fileName, append));
79 }
80
81 /**
82 * Constructs a FileWriter object given a File object.
83 *
84 * @param file a File object to write to.
85 * @throws IOException if the file exists but is a directory rather than
86 * a regular file, does not exist but cannot be created,
87 * or cannot be opened for any other reason
88 */
89 public FileWriter(File file) throws IOException {
90 super(new FileOutputStream(file));
91 }
92
93 /**
94 * Constructs a FileWriter object given a File object. If the second
95 * argument is <code>true</code>, then bytes will be written to the end
96 * of the file rather than the beginning.
97 *
98 * @param file a File object to write to
99 * @param append if <code>true</code>, then bytes will be written
100 * to the end of the file rather than the beginning
101 * @throws IOException if the file exists but is a directory rather than
102 * a regular file, does not exist but cannot be created,
103 * or cannot be opened for any other reason
104 * @since 1.4
105 */
106 public FileWriter(File file, boolean append) throws IOException {
107 super(new FileOutputStream(file, append));
108 }
109
110 /**
111 * Constructs a FileWriter object associated with a file descriptor.
112 *
113 * @param fd FileDescriptor object to write to.
114 */
115 public FileWriter(FileDescriptor fd) {
116 super(new FileOutputStream(fd));
117 }
118
119}