/* FileReader.java Purpose: Description: History: Tue Aug 19 15:01:16 2008, Created by tomyeh Copyright (C) 2008 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under LGPL Version 2.1 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.io; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.FileNotFoundException; import java.io.IOException; import java.io.FileDescriptor; /** * Convenience class for reading character files. * Unlike java.io.FileReader, where the default character encoding is used, * it accepts different character encoding. * * @author tomyeh * @since 3.0.8 */ public class FileReader extends InputStreamReader { /** * Creates a new FileReader, given the name of the file to read from. * * @param filename the name of the file to read from * @param charset the charset to decode the file, such as UTF-8. * If null, UTF-8 is assumed. * @exception FileNotFoundException if the named file does not exist, * is a directory rather than a regular file, * or for some other reason cannot be opened for reading. */ public FileReader(String filename, String charset) throws IOException { super(new FileInputStream(filename), charset != null ? charset: "UTF-8"); } /** * Creates a new FileReader, given the File instance to read from. * * @param file the File to read from * @param charset the charset to decode the file, such as UTF-8. * If null, UTF-8 is assumed. * @exception FileNotFoundException if the named file does not exist, * is a directory rather than a regular file, * or for some other reason cannot be opened for reading. */ public FileReader(File file, String charset) throws IOException { super(new FileInputStream(file), charset != null ? charset: "UTF-8"); } /** * Creates a new FileReader, given the * FileDescriptor to read from. * * @param fd the FileDescriptor to read from * @param charset the charset to decode the file, such as UTF-8. * If null, UTF-8 is assumed. */ public FileReader(FileDescriptor fd, String charset) throws IOException { super(new FileInputStream(fd), charset != null ? charset: "UTF-8"); } }