src/java.base/share/classes/java/io/FileReader.java
changeset 49254 422615764e12
parent 47216 71c04702a3d5
child 58242 94bb65cb37d3
equal deleted inserted replaced
49253:26f624b33218 49254:422615764e12
     1 /*
     1 /*
     2  * Copyright (c) 1996, 2001, Oracle and/or its affiliates. All rights reserved.
     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.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     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
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    23  * questions.
    23  * questions.
    24  */
    24  */
    25 
    25 
    26 package java.io;
    26 package java.io;
    27 
    27 
       
    28 import java.nio.charset.Charset;
    28 
    29 
    29 /**
    30 /**
    30  * Convenience class for reading character files.  The constructors of this
    31  * Reads text from character files using a default buffer size. Decoding from bytes
    31  * class assume that the default character encoding and the default byte-buffer
    32  * to characters uses either a specified {@linkplain java.nio.charset.Charset charset}
    32  * size are appropriate.  To specify these values yourself, construct an
    33  * or the platform's
    33  * InputStreamReader on a FileInputStream.
    34  * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}.
    34  *
    35  *
    35  * <p>{@code FileReader} is meant for reading streams of characters.
    36  * <p>
    36  * For reading streams of raw bytes, consider using a
    37  * The {@code FileReader} is meant for reading streams of characters. For reading
    37  * {@code FileInputStream}.
    38  * streams of raw bytes, consider using a {@code FileInputStream}.
    38  *
    39  *
    39  * @see InputStreamReader
    40  * @see InputStreamReader
    40  * @see FileInputStream
    41  * @see FileInputStream
    41  *
    42  *
    42  * @author      Mark Reinhold
    43  * @author      Mark Reinhold
    43  * @since       1.1
    44  * @since       1.1
    44  */
    45  */
    45 public class FileReader extends InputStreamReader {
    46 public class FileReader extends InputStreamReader {
    46 
    47 
    47    /**
    48    /**
    48     * Creates a new {@code FileReader}, given the name of the
    49     * Creates a new {@code FileReader}, given the name of the file to read,
    49     * file to read from.
    50     * using the platform's
       
    51     * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}.
    50     *
    52     *
    51     * @param fileName the name of the file to read from
    53     * @param fileName the name of the file to read
    52     * @exception  FileNotFoundException  if the named file does not exist,
    54     * @exception  FileNotFoundException  if the named file does not exist,
    53     *                   is a directory rather than a regular file,
    55     *                   is a directory rather than a regular file,
    54     *                   or for some other reason cannot be opened for
    56     *                   or for some other reason cannot be opened for
    55     *                   reading.
    57     *                   reading.
    56     */
    58     */
    57     public FileReader(String fileName) throws FileNotFoundException {
    59     public FileReader(String fileName) throws FileNotFoundException {
    58         super(new FileInputStream(fileName));
    60         super(new FileInputStream(fileName));
    59     }
    61     }
    60 
    62 
    61    /**
    63    /**
    62     * Creates a new {@code FileReader}, given the {@code File}
    64     * Creates a new {@code FileReader}, given the {@code File} to read,
    63     * to read from.
    65     * using the platform's
       
    66     * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}.
    64     *
    67     *
    65     * @param file the {@code File} to read from
    68     * @param file the {@code File} to read
    66     * @exception  FileNotFoundException  if the file does not exist,
    69     * @exception  FileNotFoundException  if the file does not exist,
    67     *                   is a directory rather than a regular file,
    70     *                   is a directory rather than a regular file,
    68     *                   or for some other reason cannot be opened for
    71     *                   or for some other reason cannot be opened for
    69     *                   reading.
    72     *                   reading.
    70     */
    73     */
    71     public FileReader(File file) throws FileNotFoundException {
    74     public FileReader(File file) throws FileNotFoundException {
    72         super(new FileInputStream(file));
    75         super(new FileInputStream(file));
    73     }
    76     }
    74 
    77 
    75    /**
    78    /**
    76     * Creates a new {@code FileReader}, given the
    79     * Creates a new {@code FileReader}, given the {@code FileDescriptor} to read,
    77     * {@code FileDescriptor} to read from.
    80     * using the platform's
       
    81     * {@linkplain java.nio.charset.Charset#defaultCharset() default charset}.
    78     *
    82     *
    79     * @param fd the FileDescriptor to read from
    83     * @param fd the {@code FileDescriptor} to read
    80     */
    84     */
    81     public FileReader(FileDescriptor fd) {
    85     public FileReader(FileDescriptor fd) {
    82         super(new FileInputStream(fd));
    86         super(new FileInputStream(fd));
    83     }
    87     }
    84 
    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     */
       
   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     */
       
   119     public FileReader(File file, Charset charset) throws IOException {
       
   120         super(new FileInputStream(file), charset);
       
   121     }
    85 }
   122 }