1 /* 2 * Copyright (c) 1996, 2001, Oracle and/or its affiliates. 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. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package 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 52 public 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 */ FileWriter(String fileName)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 */ FileWriter(String fileName, boolean append)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 */ FileWriter(File file)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 */ FileWriter(File file, boolean append)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 */ FileWriter(FileDescriptor fd)115 public FileWriter(FileDescriptor fd) { 116 super(new FileOutputStream(fd)); 117 } 118 119 } 120