Java ClassLoader Load getStream(final File file)

Here you can find the source of getStream(final File file)

Description

get Stream

License

Apache License

Declaration

public static InputStream getStream(final File file) throws FileNotFoundException 

Method Source Code

//package com.java2s;
/*//  w ww.jav  a  2 s .  c o  m
 * Copyright 2016 Christoph B?hme
 *
 * Licensed under the Apache License, Version 2.0 the "License";
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import java.net.URL;

public class Main {
    /**
     * First attempts to open open {@code name} as a file. On fail attempts to
     * open resource with name {@code name}. On fail attempts to open {@code name}
     * as a URL.
     *
     * @param name name of the file or resource to open
     * @return an input stream for reading the opened file or resource
     * @throws FileNotFoundException if all attempts fail
     */
    public static InputStream getStream(final String name) throws FileNotFoundException {
        if (name == null) {
            throw new IllegalArgumentException("'name' must not be null");
        }
        final File file = new File(name);
        if (file.exists()) {
            return getStream(file);
        }

        InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
        if (stream != null) {
            return stream;
        }

        try {
            stream = new URL(name).openStream();
        } catch (final IOException e) {
            throwFileNotFoundException(name, e);
        }
        if (stream == null) {
            throwFileNotFoundException(name, null);
        }

        return stream;

    }

    public static InputStream getStream(final File file) throws FileNotFoundException {
        return new FileInputStream(file);
    }

    private static void throwFileNotFoundException(final String name, final Throwable t)
            throws FileNotFoundException {
        final FileNotFoundException e = new FileNotFoundException("No file, resource or URL found: " + name);
        if (t != null) {
            e.initCause(t);
        }
        throw e;
    }
}

Related

  1. getReader(final String name, final String encoding)
  2. getRootPath()
  3. getSimpleName(String fqcn)
  4. getSourcesPath()
  5. getSSTable(String version, int generation)
  6. getStreamForString(String source)
  7. getSystemPath(String inPath)
  8. getTestDir(final String name)
  9. getTestJson()