java.net.URLClassLoader.getResourceAsStream()方法的使用及代码示例

x33g5p2x  于2022-01-31 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(154)

本文整理了Java中java.net.URLClassLoader.getResourceAsStream()方法的一些代码示例,展示了URLClassLoader.getResourceAsStream()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。URLClassLoader.getResourceAsStream()方法的具体详情如下:
包路径:java.net.URLClassLoader
类名称:URLClassLoader
方法名:getResourceAsStream

URLClassLoader.getResourceAsStream介绍

暂无

代码示例

代码示例来源:origin: robolectric/robolectric

private InputStream getClassBytesAsStreamPreferringLocalUrls(String resName) {
 InputStream fromUrlsClassLoader = urls.getResourceAsStream(resName);
 if (fromUrlsClassLoader != null) {
  return fromUrlsClassLoader;
 }
 return super.getResourceAsStream(resName);
}

代码示例来源:origin: alibaba/jstorm

public InputStream getResourceAsStream(String name) {
    InputStream is = super.getResourceAsStream(name);
    if (is == null) {
      is = defaultClassLoader.getResourceAsStream(name);
    }
    return is;
  }
}

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Override public InputStream getResourceAsStream(String name) {
  // Find resource in GAR file first.
  InputStream in = getResourceAsStreamGarOnly(name);
  // Find resource in parent class loader.
  if (in == null)
    in = ClassLoader.getSystemResourceAsStream(name);
  if (in == null)
    in = super.getResourceAsStream(name);
  return in;
}

代码示例来源:origin: embulk/embulk

private InputStream getResourceAsStreamFromChild(final String resourceName) {
  if (this.oneNestedJarUrlBase == null || this.embeddedJarPathsInNestedJar.isEmpty()) {
    // Multiple flat JARs -- Gem-based plugins, or Single JAR (JAR-based plugins) without any embedded JAR
    return super.getResourceAsStream(resourceName);
  } else {
    // Single nested JAR -- JAR-based plugins
    // Resources directly in the plugin JAR are prioritized.
    final InputStream inputStream = super.getResourceAsStream(resourceName);
    if (inputStream == null) {
      try {
        final InputStream childInputStream = AccessController.doPrivileged(
            new PrivilegedExceptionAction<InputStream>() {
              public InputStream run() {
                return getResourceAsStreamFromEmbeddedJars(resourceName);
              }
            },
            this.accessControlContext);
        if (childInputStream != null) {
          return childInputStream;
        }
      } catch (PrivilegedActionException ignored) {
        // Passing through intentionally.
      }
    }
  }
  return null;
}

代码示例来源:origin: h2oai/h2o-2

public InputStream getResource2(String uri) {
 if( fromJar() ) {
  InputStream is = _systemLoader.getResourceAsStream("resources"+uri);
  if (is==null) is = this.getClass().getClassLoader().getResourceAsStream("resources"+uri);
  if (is==null) is = Thread.currentThread().getContextClassLoader().getResourceAsStream("resources"+uri);
  return is;
 } else {
  try {
   File resources  = new File("lib/resources");
   if(!resources.exists()) {
    // IDE mode assumes classes are in target/classes. Not using current path
    // to allow running from other locations.
    String h2oClasses = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
    resources = new File(h2oClasses + "/../../lib/resources");
   }
   return new FileInputStream(new File(resources, uri));
  } catch (FileNotFoundException e) {
   Log.err("Trying system loader because : ", e);
   return _systemLoader.getResourceAsStream("resources"+uri);
  }
 }
}

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Override public InputStream getResourceAsStream(String name) {
  doTimeout();
  byte[] res = resourceMap.get(name);
  return res == null ? super.getResourceAsStream(name) : new ByteArrayInputStream(res);
}

代码示例来源:origin: openmrs/openmrs-core

/**
 * Searches all known module classloaders first, then parent classloaders
 *
 * @see java.lang.ClassLoader#getResourceAsStream(java.lang.String)
 */
@Override
public InputStream getResourceAsStream(String file) {
  for (ModuleClassLoader classLoader : ModuleFactory.getModuleClassLoaders()) {
    InputStream result = classLoader.getResourceAsStream(file);
    if (result != null) {
      return result;
    }
  }
  
  return super.getResourceAsStream(file);
}

代码示例来源:origin: mulesoft/mule

@Test
public void testClassloaderWithMulePluginUrls() throws IOException {
 URL jarURL = getURL("lib" + File.separator + "test-jar-with-resources.jar" + SEPARATOR);
 URLClassLoader urlClassLoader = new URLClassLoader(new URL[] {jarURL});
 // looking for resource that's located in the jarURL (zip within zip scenario)
 InputStream testResourceWithinZipInputStream = urlClassLoader.getResourceAsStream("test-resource-2.txt");
 assertThat(testResourceWithinZipInputStream, notNullValue());
 assertThat(IOUtils.toString(testResourceWithinZipInputStream), is("Just some text"));
}

代码示例来源:origin: com.alibaba.jstorm/jstorm-core

public InputStream getResourceAsStream(String name) {
    InputStream is = super.getResourceAsStream(name);
    if (is == null){
      is = defaultClassLoader.getResourceAsStream(name);
    }
    return is;
  }
}

代码示例来源:origin: stackoverflow.com

// the class to load
final String classAsPath = className.replace('.', '/') + ".class";

// the URL to the `app.jar` file (Windows and Unix/Linux/MacOSX below)
final URL url = new URL( "file", null, "///C:/Users/diffusive/app.jar" );
//final URL url = new URL( "file", null, "/Users/diffusive/app.jar" );

// create the class loader with the JAR file
final URLClassLoader urlClassLoader = new URLClassLoader( new URL[] { url } );

// grab the resource, through, this time from the `URLClassLoader` object
// rather than from the `ClassLoader` class
final InputStream input = urlClassLoader.getResourceAsStream( classAsPath );

代码示例来源:origin: org.glassfish.main.common/common-util

public InputStream getResourceAsStream(final String name) {
  InputStream stream = super.getResourceAsStream(name);
  /*
   *Make sure not to wrap the stream if it already is a wrapper.
   */
  if (stream != null) {
    if (! (stream instanceof SentinelInputStream)) {
      stream = new SentinelInputStream(stream);
    }
  }
  return stream;
}

代码示例来源:origin: stackoverflow.com

//ref to some jar
File f = new File("/tmp/foo.jar");

//create a new classloader for this jar
URLClassLoader loader = URLClassLoader.newInstance(new URL[]{f.toURI().toURL()});

//load resource with classloader
InputStream inputStream = loader.getResourceAsStream("foo/bar/test.txt");

//...do stuff with inputStream

代码示例来源:origin: org.eclipse.scout.rt/org.eclipse.scout.rt.ui.html.scriptprocessor

@Override
public InputStream getResourceAsStream(String name) {
 String ext = getFileExtension(name);
 if ("css".equals(ext) || "js".equals(ext) || "less".equals(ext)) {
  return m_originalClassLoader.getResourceAsStream(name);
 }
 else {
  return super.getResourceAsStream(name);
 }
}

代码示例来源:origin: org.glassfish.common/common-util

public InputStream getResourceAsStream(final String name) {
  InputStream stream = super.getResourceAsStream(name);
  /*
   *Make sure not to wrap the stream if it already is a wrapper.
   */
  if (stream != null) {
    if (! (stream instanceof SentinelInputStream)) {
      stream = new SentinelInputStream(stream);
    }
  }
  return stream;
}

代码示例来源:origin: stackoverflow.com

URL[] url = { new URL("file:/home/mart/workspace6/test2/bin/") };
URLClassLoader ucl = URLClassLoader.newInstance(url);

InputStream is = ucl.getResourceAsStream("Outside.class");
byte[] bytes = new byte[is.available()];
is.read(bytes);
Method m = ClassLoader.class.getDeclaredMethod("defineClass", new Class[] { String.class, byte[].class, int.class, int.class });
m.setAccessible(true);
Class<Base> outsideClass = (Class<Base>) m.invoke(Base.class.getClassLoader(), "Outside", bytes, 0, bytes.length);

Base p = outsideClass.newInstance();
System.out.println(p.getClass());
p.run();

代码示例来源:origin: Spoutcraft/LegacyLauncher

@Override
public InputStream getResourceAsStream(String resource) {
  URL result = getResource(resource);
  if (result != null) {
    try {
      return result.openStream();
    } catch (IOException e) {
      //e.printStackTrace();
    }
  }
  return super.getResourceAsStream(resource);
}

代码示例来源:origin: org.ow2.bonita/bonita-server

private InputStream getInternalInputstream(final String name) {
 final byte[] classData = loadProcessResource(name);
 if (classData != null) {
  return new ByteArrayInputStream(classData);
 }
 return super.getResourceAsStream(name);
}

代码示例来源:origin: net.sf.ingenias/codegen

private static String readURLTemplate(String templateURL) throws
MalformedURLException {
  URLClassLoader urlLoader = new URLClassLoader(new URL[] {new URL(
      templateURL)});
  InputStream is = urlLoader.getResourceAsStream("templates/servlet.xml");
  return readFile(is);
}

代码示例来源:origin: io.fabric8/fabric8-maven-enricher-fabric8

private InputStream loadPluginResource(String iconRef) {
  InputStream answer = Thread.currentThread().getContextClassLoader().getResourceAsStream(iconRef);
  if (answer == null) {
    answer = MavenUtil.getTestClassLoader(getProject()).getResourceAsStream(iconRef);
  }
  if (answer == null) {
    answer = this.getClass().getResourceAsStream(iconRef);
  }
  return answer;
}

代码示例来源:origin: fabric8io/fabric8-maven-plugin

private InputStream loadPluginResource(String iconRef) {
  InputStream answer = Thread.currentThread().getContextClassLoader().getResourceAsStream(iconRef);
  if (answer == null) {
    answer = getContext().getProjectClassLoaders().getCompileClassLoader().getResourceAsStream(iconRef);
  }
  if (answer == null) {
    answer = this.getClass().getResourceAsStream(iconRef);
  }
  return answer;
}

相关文章