2012-01-18 18 views
2

私はD内のファイル持っているとしましょう:このファイルの名前は意味がありません現時点では変更し、ファイル名とその拡張子それは、Java

 D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01 

:としてファイルパスを持っています。フォーマットはありません。私は上記のファイルパスからJavaでファイルオブジェクトを作成し、その名前とフォーマットをバイトに書き込む前に変更することができます。新しいパスは、次のようになります。

 D:\work\2012\018\08\mywork.pdf 

変更が加えられた後も、通常の方法で元のファイルにアクセスできるはずです。

私はすでにファイルの種類とその名前を知っていますので、これらの詳細を取得することに問題はありません。

答えて

9

だけでファイル名前を変更します。あなたはまた、単にファイル名を与えることができる

File file = new File(oldFilepath); 
boolean success = file.renameTo(new File(newFilepath)); 

をして、現在のファイルと同じ親を使用します。

File file = new File(oldFilepath); 
file.renameTo(new File(file.getParentFile(), newFilename)); 
4

それはまさにあなたが望むものを本当に明確ではありません。私はこの答えがあなたに役立つことを願っています。

D:\work\2012\018\08\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01を表すjava.io.Fileオブジェクトがあり、D:\work\2012\018\08\mywork.pdfを表すFileオブジェクトが必要であるとします。すでに新しいファイル名mywork.pdfを知っていますが、オリジナルのFileオブジェクトからディレクトリ名を取得する必要があります。あなたは次のようにすることができます:

File original = new File("D:\\work\\2012\\018\\08\\2b558ad8-4ea4-4cb9-b645-6c9a9919ba01"); 

// Gets the File object for the directory that contains the file 
File dir = original.getParentFile(); 

// Creates a File object for a file in the same directory with the name "mywork.pdf" 
File result = new File(dir, "mywork.pdf"); 
関連する問題