关于文件路径的一个问题

impulsecdq 2008-10-11 10:58:39

File imageFile = new File(chooser.getSelectedFile().getName()); //chooser是JFileChooer的一个实例
String filePath = imageFile.getAbsolutePath();

//filePath = filePath.replace('\\', '/');
System.out.println("the file is "+filePath); //打印的并不是文件的目录,而是eclipse
//workplace下的目录
//比如我选择E:\1.jpg,实际得到的文件路径是%eclipseHome%\workplace\myTest\1.jpg
//这个是什么原因呢,希望贵人指教
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
impulsecdq 2008-10-11
  • 打赏
  • 举报
回复
实在是太感谢了 我结贴了 谢谢
hiyunxia 2008-10-11
  • 打赏
  • 举报
回复
你的情况是这样的:

//比如我选择E:\1.jpg,
调用这个方法之后得到的是什么?你仔细想想:chooser.getSelectedFile().getName());
应该是得到了 E:\1.jpg 这个文件的文件名字,也就是一个字符串 “1.jpg ”,
这样你的第一行语句 File imageFile = new File(chooser.getSelectedFile().getName());
就可以等价为:File imageFile = new File(“1.jpg”);
这就相当于在当前的工作目录下新建了一个文件名为 1.jpg的文件了,你原来从FileChoose里面的到的文件
也就丢失了,在这里用到的只是文件的一个名字,一个字符串而已。

所以,按照你说的情况的话,我估计你需要的做法应该是 1 楼说的那样

File imageFile = new File(chooser.getSelectedFile().getName());

改为:

File imageFile = new File(chooser.getSelectedFile().getAbsolutePath());
justinavril 2008-10-11
  • 打赏
  • 举报
回复
我觉得这样更好点...

File imageFile = chooser.getSelectedFile();  //chooser是JFileChooer的一个实例 
String filePath = imageFile.getAbsolutePath();
justinavril 2008-10-11
  • 打赏
  • 举报
回复
我告诉你错误的主要原因:
你的这句代码:chooser.getSelectedFile()返回的就是一个File的实例了,不需要再getName()了,只要想楼上那样,返回它的绝对路径就可以了...


File imageFile = new File(chooser.getSelectedFile());  //chooser是JFileChooer的一个实例 
String filePath = imageFile.getAbsolutePath();
lihan6415151528 2008-10-11
  • 打赏
  • 举报
回复
楼上好快
nine_suns99 2008-10-11
  • 打赏
  • 举报
回复
1楼正解
ZangXT 2008-10-11
  • 打赏
  • 举报
回复
File imageFile = new File(chooser.getSelectedFile().getName());
这里改为
File imageFile = new File(chooser.getSelectedFile().getAbsolutePath());
应该就可以了。
huoyin 2008-10-11
  • 打赏
  • 举报
回复
你创建file对象时用的是相对路径chooser.getSelectedFile().getName(),用绝对路径chooser.getSelectedFile().getAbsolutePath()就可以了
huoyin 2008-10-11
  • 打赏
  • 举报
回复

File imageFile = new File(chooser.getSelectedFile().getName());

改为:

File imageFile = new File(chooser.getSelectedFile().getAbsolutePath());

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧