如何定位文件?

时间:2014-11-25 19:28:42

标签: java file location bufferedreader

您好我想知道程序如何定位文件。 例如。我有一个班级

    public class MiReader {

    private File file;    
    private BufferedReader bufferedReader;    

    public MiReader(String dir) {

        try {
            file= new File(dir);
            bufferedReader = new BufferedReader(new FileReader(file));

        } catch (Exception ex) {
            Logger.getLogger(MiReader.class.getName()).log(Level.SEVERE, null, ex);
        }        
    }

    public void imprimir() {    
        ***
    }
}

我知道该文件在项目中(我正在使用netbeans) 项目在C:\NetBeansProjects\Application

档案:C:\NetBeansProjects\Application\file.txt

所以当我的实例MiReader必须是这样的时候:

MiReader mr = new MiReader("C:\\NetBeansProjects\\Application\\file.txt");

现在如果我从其他位置运行该程序 例如现在它在

D:\Pograms\Application

所以文件是D:\Pograms\Application\file.txt

现在我必须改变我创建类的方式

MiReader mr = new MiReader("D:\\Pograms\\Application\\file.txt");

我想知道程序如何找到刚刚运行程序的文件,

之类的东西
MiReader mr = new MiReader(program.getLocation()+"\\file.txt")
  

学习英语:)

2 个答案:

答案 0 :(得分:1)

您可以使用相对路径。又名

MiReader Mr = new MiReader("file.text");

这样程序将在你运行它的目录中查找文件file.text

答案 1 :(得分:0)

您可以使用System.getProperty将user.home,user.dir,类路径等作为您尝试打开的文件的标准前缀。 Here are all of the System properties

文件f =新文件(System.getProperty(“user.home”+“/ foo.txt”));