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 } |