Java中的文件路径

【1】java中的基础路径

比如

File f=new File("a.txt");

上面这段代码会在哪里创建文件呢?

答案是:java 工程就是 C:\Users\root\Desktop\学习\lunwen\codes\nb_codes\cloud\a.txt

java web工程就是 D:\tomcat6\apache-tomcat-6.0.33\bin\a.txt

可以看见已经生成到tomcat下面呢

你可以使用下面的代码来获取根目录:

File f=new File(".");

【2】读取src下的文件

下图展示了示例目录结构:

如果要读取包内的demo.txt

应该是:

new FileInputStream("src/java/net/aviation/javaio/demo.txt");

*注意这里取决于你的IDE代码(netbeans将所有java代码放在了src/java文件夹下)

*注意初始没有/


或者:

ByteStreams.class.getResource("/net/aviation/javaio/demo.txt").getPath();

*注意如果上面获取的路径有中文,会自动转换为UTF-8的格式(这个跟你设定的工程编码有关,我的默认是UTF-8编码,就会有这个问题),这时可以使用URLDecoder进行转换:

*注意这里有/


 String xString=ByteStreams.class.getResource("/net/aviation/javaio/demo.txt").getPath();
            System.out.println("转换前:"+xString);
            xString=URLDecoder.decode(xString, "UTF-8");
            System.out.println("转换后:"+xString);
            
            in = new FileInputStream(xString);

运行结果就是:

转换前:/C:/Users/root/Desktop/%e5%ad%a6%e4%b9%a0/lunwen/codes/nb_codes/cloud/build/web/WEB-INF/classes/net/aviation/javaio/demo.txt
转换后:/C:/Users/root/Desktop/学习/lunwen/codes/nb_codes/cloud/build/web/WEB-INF/classes/net/aviation/javaio/demo.txt

这样也可以获取到该文件。

这样读取前面的outer.txt 也就比较简单了


posted on 2013-05-14 10:46  scugxl  阅读(381)  评论(0编辑  收藏  举报

导航