[引用] java文件路径
关键字: Java基础http://blog.csdn.net/laxsong/archive/2006/06/20/816598.aspx
[引自原文]
FileStream file = this.getClass().getClassLoader().getResourceAsStream(String xmlPath);
这个有点复杂,我了解的也不多,这里就说说现在我所了解的吧,以后再补充!
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
如此就可以看到相对“/”的根路径。
对 FileStream fileStream = this.getClass().getClassLoader().getResourceAsStream(filePath);
这里的filePath似乎只能用相对路径,至少我不知道用绝对路径怎么表示:
下面取个相对路径的例子:
String filePath = "/../../Resources/XML/navigation.xml"; //表达规则和LINUX一样。
System.out.println(this.getClass().getClassLoader().getResource(".").getPath());
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
System.out.println(this.getClass().getClassLoader().getResource("").getPath());
System.out.println(this.getClass().getClassLoader().getResource("..").getPath());
相信,看过这四个路径结果就应该知道在哪放置自己的文件了,用什么样的语句能找到。
[补充]
直接取文件流:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("test/data.txt");
或
InputStream is = is.getClass().getResourceAsStream("test/data.txt");
[String 与 InputStream相互转换]
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
String s = null;
while ((s=bf.readLine()) != null) System.out.println(s);
InputStream in = new ByteArrayInputStream("Hello Java World!".getBytes());







评论排行榜