getResourceAsStreamとgetResourceの使い方およびDemoの例
5480 ワード
getResourceAsStream getResource Demo
JAVA , , , , , , JAVA File , D:/test.txt , File file = newFile("D:/test.txt"); , , , JAVA , , , , Windows , linux , c:/ , , , , 。
Servlet , getRealPath(String str) , , , , , ?
Class.getResource() Class.getResourceAsStream() !
、getResourceAsStream
,Java getResourceAsStream :
1. Class.getResourceAsStream(String path) :
path ’/' , ’/' ClassPath 。 path , ClassLoader 。
2. Class.getClassLoader.getResourceAsStream(String path) :
ClassPath ,path ’/' , ClassLoader 。
3. ServletContext. getResourceAsStream(String path):
WebAPP ,Tomcat path ’/' , 。
4. Jsp application ServletContext 。
,getResourceAsStream :
: .class , :com.x.y me.class , myfile.xml , :
Java
me.class.getResourceAsStream("myfile.xml");
: me.class , :com.x.y me.class , com.x.y.file myfile.xml , :
Java
me.class.getResourceAsStream("file/myfile.xml");
: me.class , , :com.x.y me.class , com.x.file myfile.xml , :
Java
me.class.getResourceAsStream("/com/x/file/myfile.xml");
,
: “ / ”
“ / ” , myproject,“ / ” myproject
Java
me.class.getResourceAsStream("/com/x/file/myfile.xml");
: “ / ”
Java
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");
、getResource
|--project
|--src
|--javaapplication
|--Test.java
|--file1.txt
|--file2.txt
|--build
|--javaapplication
|--Test.class
|--file3.txt
|--file4.txt
, src , JAVA , build , JAVA (.class )
, Test
file1.txt file2.txt file3.txt file4.txt ?
file3.txt file4.txt
file3.txt ( ):
Java
File file3 = new File(Test.class.getResource("file3.txt").getFile());
File file3 = new File(Test.class.getResource("/javaapplication/file3.txt").getFile());
File file3 = new File(Test.class.getClassLoader().getResource("javaapplication/file3.txt").getFile());
file4.txt:( ):
Java
File file4 = new File(Test.class.getResource("/file4.txt").getFile());
File file4 = new File(Test.class.getClassLoader().getResource("file4.txt").getFile());
file1 file2 ? ?
, , file3 file4 class.getResource() ,
project c:/ , file1 file2 :
file1.txt
Java
File file1 = new File("c:/project/src/javaapplication/file1.txt");
file2.txt
Java
File file2 = new File("c:/project/src/file2.txt");
:
, .class , .java , .class, .java , java 。
getResouce() , class , , , , IDEbuild , package , Web , WEB-INF ,WEB-INF web.xml , classes , , WEB package , .class “/”, clasaes file.txt , "/file.txt", "/" , .class 。。
getResourceAsStream() getResouce() , getResource() File , new InputStream(file) 。
class.getResource("/") --> class , 。 --> file:/home/duanyong/workspace/cxxx/xxxx/bin/WEB-INF/classes/
class.getResource("/xxx.txt") --> xxx.txt 。 file://..../bin/WEB-INF/classes/xxx.txt
getResource(String path),path class 。 classes, classes/xxx/yyy.txt 。 yyy.txt :class.getResource("/xxx/yyy.txt");
Java
// classes /xxx/yyy.txt
System.out.println(Test.class.getResource("/xxx/yyy.txt"));
// class
System.out.println(Test.class.getResource(Test.class.getSimpleName() + ".class"));
:
file:/home/duanyong/workspace/test/bin/WEB-INF/classes/xxx/yyy.txt
file:/home/duanyong/workspace/test/bin/WEB-INF/classes/cn/duanyong/test/Test.class
、getResourceAsStream getResource
:testpinyin.txt src
Java
import java.io.IOException;
import java.io.InputStream;
public class Test {
public void getResource(String url){
InputStream stream = getClass().getResourceAsStream(url);
System.out.println(getClass().getResource(url));
byte[] line = new byte[1024*1024];
try {
stream.read(line);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String str = new String(line);
System.out.println(str.trim());
}
public static void main(String[] args) {
new Test().getResource("/testpinyin.txt");
}
}
:
file:/E:/workspace/testhttpclient/bin/testpinyin.txt
emergency
testpinyin.txt , testpinyin.txt 。
“/”,“/” , 。