java 如何获取一个文件的绝对路径。。。

时间:2022-08-26 15:33:20
例如
InputStream   inStream=new   FileInputStream("a/b.txt");

怎么能得到a/b.txt的绝对路径,b.txt在我的workspace下。

17 个解决方案

#1


File A=new File("文件名及其路径");   
String filePath=A.getAbsolutePath().getPath(); 

#2


使用这个方法:

System.getProperty("user.dir");

里面的字符串是固定的写法

#3


楼上说的也对。

#4


我是想根据文件名,得到文件的绝对路径。

#5


引用 1 楼 lifeng_2009 的回复:
File A=new File("文件名及其路径");   
String filePath=A.getAbsolutePath().getPath();

A.getAbsolutePath() 点不出getPath()

#6



File A=new File("文件名及其路径");
String path = A.getCanonicalPath();
BufferedReader reader = new BufferedReader(new FileReader(path)); 

#7


A.getAbsolutePath()就可以了

#8


例如:
D:/workspace/projectName/WebContent/dat/mm.txt

现在我把mm.txt文件放到WebContent/dat/下了,

如何能取得绝对路径。。?

#9


File A=new File("文件名及其路径"); 
A.PATH();

#10


File A=new File("文件名及其路径");  
A.getPath();

#11


引用 10 楼 shenyang6300 的回复:
File A=new File("文件名及其路径");  
A.getPath();


路径 是指相对路径。。?
例如
a/tt.doc  
要写成这样?

直接文件名不行?

#12


该回复于2010-09-09 16:32:31被版主删除

#13


request.getSession().getServletContext().getRealPath("/a") + "/tt.doc";

#14


File f = new File("a/b.txt");
String absoluteurl = f.getAbsolutePath();
我发现在IntelliJ IDEA 8.0.1中如果b.txt文件在项目src下,此时用File去操作这个绝对路径,会发现找不到文件,通过对比,发现少了src这一层目录,不知道所有的开发平台是不是这样

#15



/**
 * 获取项目的相对路径下文件的绝对路径
 * 
 * @param parentDir
 *            目标文件的父目录,例如说,工程的目录下,有lib与bin和conf目录,那么程序运行于lib or
 *            bin,那么需要的配置文件却是conf里面,则需要找到该配置文件的绝对路径
 * @param fileName
 *            文件名
 * @return 一个绝对路径
 */
public static String getPath(String parentDir, String fileName) {
String path = null;
String userdir = System.getProperty("user.dir");
String userdirName = new File(userdir).getName();
if (userdirName.equalsIgnoreCase("lib")
|| userdirName.equalsIgnoreCase("bin")) {
File newf = new File(userdir);
File newp = new File(newf.getParent());
if (fileName.trim().equals("")) {
path = newp.getPath() + File.separator + parentDir;
} else {
path = newp.getPath() + File.separator + parentDir
+ File.separator + fileName;
}
} else {
if (fileName.trim().equals("")) {
path = userdir + File.separator + parentDir;
} else {
path = userdir + File.separator + parentDir + File.separator
+ fileName;
}
}

return path;
}

#16


引用 13 楼 ibm_hoojo 的回复:
CSS code
request.getSession().getServletContext().getRealPath("/a") + "/tt.doc";


+1 web应用,这样获得文件绝对路径

#17


file.getpath

#1


File A=new File("文件名及其路径");   
String filePath=A.getAbsolutePath().getPath(); 

#2


使用这个方法:

System.getProperty("user.dir");

里面的字符串是固定的写法

#3


楼上说的也对。

#4


我是想根据文件名,得到文件的绝对路径。

#5


引用 1 楼 lifeng_2009 的回复:
File A=new File("文件名及其路径");   
String filePath=A.getAbsolutePath().getPath();

A.getAbsolutePath() 点不出getPath()

#6



File A=new File("文件名及其路径");
String path = A.getCanonicalPath();
BufferedReader reader = new BufferedReader(new FileReader(path)); 

#7


A.getAbsolutePath()就可以了

#8


例如:
D:/workspace/projectName/WebContent/dat/mm.txt

现在我把mm.txt文件放到WebContent/dat/下了,

如何能取得绝对路径。。?

#9


File A=new File("文件名及其路径"); 
A.PATH();

#10


File A=new File("文件名及其路径");  
A.getPath();

#11


引用 10 楼 shenyang6300 的回复:
File A=new File("文件名及其路径");  
A.getPath();


路径 是指相对路径。。?
例如
a/tt.doc  
要写成这样?

直接文件名不行?

#12


该回复于2010-09-09 16:32:31被版主删除

#13


request.getSession().getServletContext().getRealPath("/a") + "/tt.doc";

#14


File f = new File("a/b.txt");
String absoluteurl = f.getAbsolutePath();
我发现在IntelliJ IDEA 8.0.1中如果b.txt文件在项目src下,此时用File去操作这个绝对路径,会发现找不到文件,通过对比,发现少了src这一层目录,不知道所有的开发平台是不是这样

#15



/**
 * 获取项目的相对路径下文件的绝对路径
 * 
 * @param parentDir
 *            目标文件的父目录,例如说,工程的目录下,有lib与bin和conf目录,那么程序运行于lib or
 *            bin,那么需要的配置文件却是conf里面,则需要找到该配置文件的绝对路径
 * @param fileName
 *            文件名
 * @return 一个绝对路径
 */
public static String getPath(String parentDir, String fileName) {
String path = null;
String userdir = System.getProperty("user.dir");
String userdirName = new File(userdir).getName();
if (userdirName.equalsIgnoreCase("lib")
|| userdirName.equalsIgnoreCase("bin")) {
File newf = new File(userdir);
File newp = new File(newf.getParent());
if (fileName.trim().equals("")) {
path = newp.getPath() + File.separator + parentDir;
} else {
path = newp.getPath() + File.separator + parentDir
+ File.separator + fileName;
}
} else {
if (fileName.trim().equals("")) {
path = userdir + File.separator + parentDir;
} else {
path = userdir + File.separator + parentDir + File.separator
+ fileName;
}
}

return path;
}

#16


引用 13 楼 ibm_hoojo 的回复:
CSS code
request.getSession().getServletContext().getRealPath("/a") + "/tt.doc";


+1 web应用,这样获得文件绝对路径

#17


file.getpath