1 /* 2 * Copyright (c) 1996, 2018, 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 import java.nio.charset.Charset; 29 30 /** 31 * Reads text from character files using a default buffer size. Decoding from bytes 32 * to characters uses either a specified {@linkplain java.nio.charset.Charset charset} 33 * or the platform's 34 * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}. 35 * 36 * <p> 37 * The {@code FileReader} is meant for reading streams of characters. For reading 38 * streams of raw bytes, consider using a {@code FileInputStream}. 39 * 40 * @see InputStreamReader 41 * @see FileInputStream 42 * 43 * @author Mark Reinhold 44 * @since 1.1 45 */ 46 public class FileReader extends InputStreamReader { 47 48 /** 49 * Creates a new {@code FileReader}, given the name of the file to read, 50 * using the platform's 51 * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}. 52 * 53 * @param fileName the name of the file to read 54 * @exception FileNotFoundException if the named file does not exist, 55 * is a directory rather than a regular file, 56 * or for some other reason cannot be opened for 57 * reading. 58 */ FileReader(String fileName)59 public FileReader(String fileName) throws FileNotFoundException { 60 super(new FileInputStream(fileName)); 61 } 62 63 /** 64 * Creates a new {@code FileReader}, given the {@code File} to read, 65 * using the platform's 66 * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}. 67 * 68 * @param file the {@code File} to read 69 * @exception FileNotFoundException if the file does not exist, 70 * is a directory rather than a regular file, 71 * or for some other reason cannot be opened for 72 * reading. 73 */ FileReader(File file)74 public FileReader(File file) throws FileNotFoundException { 75 super(new FileInputStream(file)); 76 } 77 78 /** 79 * Creates a new {@code FileReader}, given the {@code FileDescriptor} to read, 80 * using the platform's 81 * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}. 82 * 83 * @param fd the {@code FileDescriptor} to read 84 */ FileReader(FileDescriptor fd)85 public FileReader(FileDescriptor fd) { 86 super(new FileInputStream(fd)); 87 } 88 89 /** 90 * Creates a new {@code FileReader}, given the name of the file to read 91 * and the {@linkplain java.nio.charset.Charset charset}. 92 * 93 * @param fileName the name of the file to read 94 * @param charset the {@linkplain java.nio.charset.Charset charset} 95 * @exception IOException if the named file does not exist, 96 * is a directory rather than a regular file, 97 * or for some other reason cannot be opened for 98 * reading. 99 * 100 * @since 11 101 */ FileReader(String fileName, Charset charset)102 public FileReader(String fileName, Charset charset) throws IOException { 103 super(new FileInputStream(fileName), charset); 104 } 105 106 /** 107 * Creates a new {@code FileReader}, given the {@code File} to read and 108 * the {@linkplain java.nio.charset.Charset charset}. 109 * 110 * @param file the {@code File} to read 111 * @param charset the {@linkplain java.nio.charset.Charset charset} 112 * @exception IOException if the file does not exist, 113 * is a directory rather than a regular file, 114 * or for some other reason cannot be opened for 115 * reading. 116 * 117 * @since 11 118 */ FileReader(File file, Charset charset)119 public FileReader(File file, Charset charset) throws IOException { 120 super(new FileInputStream(file), charset); 121 } 122 } 123