java getFileName() 为什么只剩下文件名

FormFilefile=uploadFile.getFile();Filef=newFile(file.getFileName());FileInputStreamfi... FormFile file = uploadFile.getFile();
File f=new File(file.getFileName());
FileInputStream fin = new FileInputStream(f);
ib = new byte[(int)f.length()];
fin.read(ib);
fin.close();
老提示说,系统未找到文件。后来我查看了一下:file.getFileName();,发现他的值没有路径了。比如我上传:c:\abc.jpg,结果file.getFileName()=abc.jpg了。路径没了,这个如何改进呢?谢谢
首先非常感谢大家给我的留言回复。可能我的描述不是很清楚。其实我这个功能是用来将文件直接保存到sql数据库的images字段用的。所以,我把文件内容读到ib(byte[]类型)中,然后存储到我的持久层对象,保存到数据库中。就是File f=new File(file.getFileName());的getFileName(),不包含路径,结果导致系统如上提示。但是我在watch中,该属性值且有路径。 我这里的file只有如下属性:file.getContentType();file.getFileName();file.getClass();file.getFileData();file.getFileSize();file.getInputStream()
展开
 我来答
pensiero
推荐于2016-05-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6921
采纳率:83%
帮助的人:1270万
展开全部
java io包中File类中并没有getFileName()方法,这里应该是指getName()方法,此方法仅返回文件名,并不会包含路径。如果需要完整路径+文件名,应该使用getPath()取得路径后再组合使用getName(),拼出一个完整路径+文件名的字符串。

==File类中常用方法如下,下文中file是File类的一个实例==

取得文件名称的方法: file.getName()
取得文件路径的方法: file.getPath()
判断文件是否绝对路径: file.isAbsolute()
取得文件的根目录: file.getParent()
判断文件是否存在: file.exists()
判断是否是目录: file.isDirectory()
判断是否是文件: file.isFile()
判断是否是隐藏文件: file.isHidden()
判断是否可读: file.canRead()
判断是否可写: file.canWrite()
shenwenchao1
推荐于2018-03-11 · TA获得超过1586个赞
知道小有建树答主
回答量:949
采纳率:100%
帮助的人:0
展开全部
file.getFileName()看名字就知道是获取该文件的名字。你这个类我没看见过。不过呢,file里面肯定有个什么什么path的方法。选那个就行。
比如看我的File file = new File(s);
file.getPath();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一个正直的吧友
2009-07-23 · TA获得超过3143个赞
知道小有建树答主
回答量:941
采纳率:0%
帮助的人:1089万
展开全部
你这用的不是struts的上传吗,怎么还这么写,这样是完全错误的!!!
文件路径根本用不到,你用路径的话就变成读取服务器本地文件了,客户端根本上传不了,因为执行的时候是在服务器端执行的。
正确的写法是下面这样:
FormFile file = uploadFile.getFile();
byte[] fileData = file .getFileData();
FileUtil.saveFileTODir(fileData, filePath);//filePath是自己定义的服务器端存放路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
隔壁老王叨叨叨
2009-07-23 · TA获得超过7699个赞
知道大有可为答主
回答量:2710
采纳率:0%
帮助的人:2516万
展开全部
直接用getPath(),得到就是文件的完整路径,用getName()得到的是文件夹或者文件的名字,用getAbsolutePath()得到的是这个文件所在的路径(不包含文件夹和文件名).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韦涵涵
2009-07-23 · TA获得超过3892个赞
知道大有可为答主
回答量:1034
采纳率:100%
帮助的人:1512万
展开全部
f.getAbsolutePath()+f.getFileName();

上面的结果是: c:\abc.jpg
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式