resourceresolver.java

来自「欢迎使用 FastJsp 开发框架! 编译说明: * 若要生成Api J」· Java 代码 · 共 76 行

JAVA
76
字号
// Copyright 2005-2007 onetsoft.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.
package com.onetsoft.fastjsp.util;

import java.io.InputStream;
import java.io.IOException;
import java.io.ByteArrayOutputStream;


/**
 * @author <a href="mailto:hgw@onetsoft.com">hgw</a>
 * @since 1.0
 */
public class ResourceResolver {

    private static ResourceResolver instance = new ResourceResolver();


    public static Class forName(String className) throws ClassNotFoundException {
        return instance.loadClass(className);
    }

    private ResourceResolver() {
    }

    private Class loadClass(String className) throws ClassNotFoundException {
        Class theClass = null;
        try {
            theClass = Class.forName(className);
        } catch (ClassNotFoundException e1) {
            try {
                theClass = Thread.currentThread().getContextClassLoader().loadClass(className);
            } catch (ClassNotFoundException e2) {
                theClass = getClass().getClassLoader().loadClass(className);
            }
        }
        return theClass;
    }

    private InputStream loadResource(String name) {
        InputStream in = getClass().getResourceAsStream(name);
        if (in == null) {
             in = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
            if (in == null)
                in = getClass().getClassLoader().getResourceAsStream(name);
        }
        return in;
    }
    public static byte[] getResourceAsBytes(String name) throws IOException {
          InputStream in=getResourceAsStream(name);
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          byte[] buf = new byte[512];
          int len = 0;
          while ((len = (in.read(buf))) >= 0) {
              baos.write(buf, 0, len);
          }
          return baos.toByteArray();
      }

    public static InputStream getResourceAsStream(String name) {
        return instance.loadResource(name);
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?