我正在尝试编写一个可以从命令行传递任意文件的Java 1.7应用程序。该文件将被添加到ClassLoader中,以便可以将其用作资源。
将文件添加到URLClassLoader似乎有效,但是如何在添加到ClassLoader后将该文件作为资源获取?
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Arrays;
public class ClassLoaderTest {
public static void main(String... args) throws MalformedURLException {
File file = new File("/tmp/application.conf");
URLClassLoader classLoader = new URLClassLoader(new URL[]{file.toURI().toURL()});
System.out.println("ClassLoader URLs: " + Arrays.toString(classLoader.getURLs()));
if (file.exists()) {
System.out.println("File \"" + file.getAbsolutePath() + "\" exists!");
} else {
System.out.println("File \"" + file.getAbsolutePath() + "\" does not exist!");
return;
}
URL url = classLoader.getResource(file.getAbsolutePath());
System.out.println("File \"" + file.getAbsolutePath() + "\" as url: " + url);
assert url != null;
}
}
答案 0 :(得分:2)
URLClassLoader
仅支持jar文件和文件目录。所以有两种选择:
RenderTexture myTexture = new RenderTexture (100, 100, 0);
myTexture.Create ();
transform.GetComponent<Renderer> ().material.mainTexture = myTexture;
transform.GetComponent<Renderer> ().enabled = true;
。