A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘焕新 中级黑马   /  2013-4-1 14:14  /  1702 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘焕新 于 2013-4-1 15:08 编辑

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

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

5 个回复

倒序浏览
楼主你好  您问的这个问题是关于相对路径和绝对路径的问题,这些问题在java的IO包中File类里面已经封装好了,里面有对应的获取路径的方法。

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

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
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));
        }
}

这样就可以了

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

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


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

import java.io.BufferedReader;

getAbsoluteFile() 这个的确可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马