Java 如何更改文件位置的文件扩展名
我有一个用户上传文件的应用程序 但是我想要的是检测上传文件的文件扩展名,如果一个doc文件做了其他事情,则什么也不做 有人有什么想法吗Java 如何更改文件位置的文件扩展名,java,Java,我有一个用户上传文件的应用程序 但是我想要的是检测上传文件的文件扩展名,如果一个doc文件做了其他事情,则什么也不做 有人有什么想法吗 是否有方法更改文件扩展名?例如,是否有文件was D:/test.doc更改为D:/test.pdf 我知道这不会转换文件格式,这将在以后完成 文件位置每次都会更改,所以我只需要一种方法来获取位置,并更改文件扩展名 我目前拥有的代码 File file = new File("oldname"); File file2 = new File("newname"
是否有方法更改文件扩展名?例如,是否有文件was 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
希望这能澄清问题,因为最后一个问题有点让人困惑
基本上,我有一个程序可以将上传的文档文件转换为pdf,但是上传文档的位置每次都会改变,因为它会为每个用户创建一个文件夹
这在变量字符串位置中定义
我想做的是将这个变量location
作为一个.doc
结束,我想将位置
从.doc
更改为.pdf
我已通过以下方式找到了文件名,但没有扩展名:
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);
您只需通过字符串匹配检查扩展名,例如endsWith()
要找出文件名之前的路径,请在绝对路径上使用lastIndexof(\”)。如果需要检查上传文件的文件扩展名,我建议使用幻数
您可以找到更多详细信息
检查扩展名,如.doc或.pdf,并不意味着此文件是word文档或pdf文档文件。fileName.endsWith(“.doc”)?哦,好的,我真的不认为这很容易,谢谢!有没有办法更改文件扩展名,例如,有一个文件是D:/test.doc,改为D:/test.pdffile.rename()
?你不认为你可以自己找到这个吗?谷歌是你的朋友。javadoc也是。啊,对不起,我应该说,文件名和位置每次都会改变,我只需要删除结尾处的.doc并用.pdf替换它。我在谷歌上搜索过这个,但它只是显示了如果你知道回答问题的输出路径,该怎么做还有一个问题吗?我想弄清楚他是否在问别的问题。那么,这是评论的恰当用法,而不是答案