Java 怎么从servletcontext中按路径检索输入流

2019年8月17日22:03:40 评论 37

1.简介

Java 怎么从servletcontext中按路径检索输入流?——请看下文。

2.代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.servlet.ServletContext;

public class Main{
    public final static InputStream retrieveInputStreamByPath(
            ServletContext servletContext, ClassLoader classLoader,
            String path) {
        if (path.startsWith("file:")) {
            try {
                return new URL(path).openStream();
            } catch (FileNotFoundException e) {
                return null;
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        } else if (path.startsWith("classpath:")) {
            String cls = path.substring("classpath:".length());
            if (cls.startsWith("/")) {
                cls = cls.substring(1);
            }
            return classLoader.getResourceAsStream(cls);
        } else {
            return servletContext.getResourceAsStream(path);
        }
    }
}

 

3.总结

示例代码演示了 Java 怎么从servletcontext中按路径检索输入流,具体步骤参见示例代码。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: