我有一个用户上传文件的应用程序,
但我想要的是检测上传文件的文件扩展名,如果doc文件做了别的什么都不做
有人有什么想法吗?
有没有办法更改文件扩展名,例如文件是D:/test.doc更改为D:/test.pdf
我知道这不会转换文件格式,这将在以后完成
文件位置每次都会更改,所以我只需要一种方法来获取位置,并更改文件扩展名
我目前的代码
File file = new File("oldname");
File file2 = new File("newname");
// Rename file (or directory)
boolean success = file.renameTo(file2);
if (!success)
{
// File was not successfully renamed
}
但这不会这样做:( 这段代码的问题是我必须提供新的文件名,而我不能,因为它应该与只有不同扩展名的旧文件名完全相同
编辑2
希望这会清除它,因为最后一个问题有点令人困惑
基本上,我有一个程序可以将上传的doc文件转换为pdf,但每次上传文档的位置都会更改,因为它会为每个用户创建一个文件夹
这是在变量String location
我想要做的是接受此变量location
,因为这将以.doc
结束,我想将location
从.doc
更改为.pdf
}
我设法通过使用:
找到文件的名称,没有hte扩展名 String path = location;
File f = new File(path);
System.out.println(f.getName());
String fName = f.getName();
System.out.println(fName.substring(0, fName.lastIndexOf('.')));
但我怎样才能找到文件名
之前的路径编辑我最后一次找到解决方案
System.out.println(path2.substring(0, path2.lastIndexOf('.')));
newLocation = (path2.substring(0, path2.lastIndexOf('.')))+".pdf";
System.out.println(newLocation);
答案 0 :(得分:2)
您只需通过字符串匹配检查扩展名,例如endsWith()
。
要找出文件名前面的路径,请在绝对路径上使用lastIndexof(“\”)。
答案 1 :(得分:2)