2007-11-10

[引用] 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());

 

评论
发表评论

您还没有登录,请登录后发表评论