您好我想知道程序如何定位文件。 例如。我有一个班级
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")
学习英语:)
答案 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”));