黑马程序员技术交流社区

标题: Java项目中文件的路径问题 [打印本页]

作者: 刘焕新    时间: 2013-4-1 14:14
标题: Java项目中文件的路径问题
本帖最后由 刘焕新 于 2013-4-1 15:08 编辑

比如,我项目里的heima.javabase.file包下有个data.txt文件,我需要在程序中加载它。
而这个项目在实际应用中放在哪个盘符和目录下是不确定的,唯一能确定的是这个文件位于我项目里的包路径。
求解,有什么写法能在项目的程序中确定这个文件的路径,拿到这个全路径名?

作者: 袁梦希    时间: 2013-4-1 14:33
楼主你好  您问的这个问题是关于相对路径和绝对路径的问题,这些问题在java的IO包中File类里面已经封装好了,里面有对应的获取路径的方法。

如果你想在项目的程序中确定路径就用File类确定就可以了,如果你想知道该文件在哪个路径,并且你是用eclipse开发环境,你可以用鼠标右键点击XX.txt文件,最后面有个properties,点进去就可以看到这个文件的路径了。


作者: 熊永标    时间: 2013-4-1 14:35
package heima.javabase.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;

public class FindFile {
        public static void main(String[] args) throws FileNotFoundException {
                File f=new File("bin\\heima\\javabase\\file\\data.txt");
                //File f=new File(".");
                //System.out.println(f.getAbsoluteFile());
                BufferedReader br=new BufferedReader(new FileReader(f));
        }
}

这样就可以了
作者: 李万海    时间: 2013-4-1 14:38
使用相对路径解决。
比如你的主文件在c:/heima/javabase中,你要加载的文件是C:/heima/javabase/file/data.txt,你就可以写上file/data.txt。就能解决。这只是个例子,你要是放的文件位置不同,写法也不同,可以上网上查查相对路径与绝对路径:网址http://wenku.baidu.com/view/849c40212f60ddccda38a0ca.html。看看你就明白。
作者: 刘焕新    时间: 2013-4-1 14:49
本帖最后由 刘焕新 于 2013-4-1 15:05 编辑
袁梦希 发表于 2013-4-1 14:33
楼主你好  您问的这个问题是关于相对路径和绝对路径的问题,这些问题在java的IO包中File类里面已经封装好了 ...


谢谢提醒哈,我刚开始就忘了封装成File对象来操作了,我其实是想在这个文件的路径下面拿到别的文件,然后复制到别的路径下。
作者: 刘焕新    时间: 2013-4-1 14:51
熊永标 发表于 2013-4-1 14:35
package heima.javabase.file;

import java.io.BufferedReader;

getAbsoluteFile() 这个的确可以




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2