ユーザーがファイルをアップロードするアプリケーションがあります。
しかし、私が望むのは、アップロードされたファイルのファイル拡張子を検出することであり、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
最後の質問が少しわかりにくかったので、これで解決することを願っています
基本的に、アップロードされたドキュメントファイルをpdfに変換するプログラムを持っていますが、ユーザーごとにフォルダーを作成するため、アップロードされたドキュメントの場所が毎回変わります
これは変数で定義されていますString location
私がやりたいのは、この変数location
を取得することです。これは a で終わり、から.doc
に変更したいlocation
から.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);