Android Classpath to Path Convert getFilePathFromClasspath(String filename)

Here you can find the source of getFilePathFromClasspath(String filename)

Description

Gets the absolute path of a file with given filename, searching classpath.

License

Apache License

Parameter

Parameter Description
filename The name of the file that has to be searched in the classpath

Return

the absolute path of the file if found, or null otherwise.

Declaration

public static String getFilePathFromClasspath(String filename) 

Method Source Code

/*/*from w  w  w  .j  a va 2  s  .  co  m*/
Copyright 2008 Flaptor (flaptor.com) 

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.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
import org.apache.log4j.Logger;

public class Main{
    /** 
     * Gets the absolute path of a file with given filename, searching
     * classpath.
     *
     * Useful to use log4j's PropertyConfigurator even if log4j.properties is 
     * not placed in the working directory of the jvm.
     *
     * @param filename
     *              The name of the file that has to be searched in the
     *              classpath
     * @return the absolute path of the file if found, or null otherwise.
     */
    public static String getFilePathFromClasspath(String filename) {

        java.net.URL url = ClassLoader.getSystemClassLoader().getResource(
                filename);
        if (null != url && "file".equals(url.getProtocol())) {
            return url.getPath();
        }

        // resource not found as "file://"
        return null;

    }
}