Java InputStreamReader Create getReader(String name, String extension)

Here you can find the source of getReader(String name, String extension)

Description

get Reader

License

Open Source License

Declaration

public static Reader getReader(String name, String extension) throws IOException 

Method Source Code


//package com.java2s;
/*//from   w w  w.  j av a 2 s.  c  o m
 * Copyright (C) 2012 by Bram Gotink <bram.gotink@vtk.be>
 *
 * Permission is hereby granted,  free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software  without restriction, including without limitation the rights
 * to use, copy,  modify,  merge,  publish,  distribute, sublicense, and/or sell
 * copies  of  the Software,  and to  permit  persons  to whom  the Software  is
 * furnished to do so, subject to the following conditions:
 *
 * The above  copyright notice  and this  permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED  "AS IS", WITHOUT  WARRANTY OF ANY  KIND, EXPRESS OR
 * IMPLIED, INCLUDING  BUT NOT  LIMITED TO  THE  WARRANTIES  OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE  AND NONINFRINGEMENT. IN  NO EVENT SHALL THE
 * AUTHORS  OR COPYRIGHT  HOLDERS  BE LIABLE  FOR ANY  CLAIM,  DAMAGES OR  OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION  WITH THE SOFTWARE  OR THE USE  OR OTHER  DEALINGS IN
 * THE SOFTWARE.
 */

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.zip.GZIPInputStream;

public class Main {
    public static Reader getReader(String name, String extension) throws IOException {
        File f = new File(name);
        if (f.exists())
            return new FileReader(f);

        f = new File(name + extension);
        if (f.exists())
            return new FileReader(f);

        f = new File(name + ".gz");
        if (!f.exists())
            f = new File(name + extension + ".gz");

        if (!f.exists())
            throw new FileNotFoundException(
                    "Can't find a file named \"" + name + "\", with extension \"" + extension + "\".");

        FileInputStream fis = new FileInputStream(f);
        InputStream gis = new GZIPInputStream(fis);
        return new InputStreamReader(gis);
    }
}

Related

  1. getReader(final File file)
  2. getReader(final InputStream is)
  3. getReaderForFile(IFile file)
  4. readTextFile(File f)
  5. readTextFile(File f)
  6. readTextFile(File f)