• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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