-8

我有一个用户上传文件的应用程序,

但我想要的是检测上传文件的文件扩展名,如果 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,但是上传的 doc 的位置每次都会改变,因为它会为每个用户创建一个文件夹

这是在变量中定义的String location

我想要做的是使用这个变量location,因为这将以 a 结尾,.doc我想将locationfrom更改.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);
4

2 回答 2

2

您可以简单地通过字符串匹配来检查扩展名,例如endsWith().

要找出文件名之前的路径,请在绝对路径上使用 lastIndexof("\")。

于 2013-04-18T20:34:52.923 回答
2

如果您需要检查上传文件的文件扩展名,我建议使用幻数。

您可以在此处找到更多详细信息

检查 .doc 或 .pdf 等扩展名并不意味着该文件是 word 文档或 pdf 文档文件。

于 2013-04-18T20:39:04.787 回答