2012-04-03 21 views
-1

私のアプリケーションには
と言うファイルone.pdfがあります。私はtwo.pdfと同じディレクトリにファイル名を変更したいと思います。
私は働かないjavaを使ってみました。ファイルの名前を変更する

File f1=new File("E:\\one.pdf"); 
File f2=new File("E:\\two.pdf"); 
f1.renameTo(f2); 
+2

どのような種類のエラー? –

+2

どのようなエラーが表示されますか?より具体的にしてください –

+0

同じディレクトリにこの名前のファイルが既にあるかもしれません。(two.pdf) – Kayser

答えて

2

あなたのコードは、重大なエラーが発生しました:

あなたはFile#renameTo()の結果をチェックしません。 UACが有効になっているか、宛先が無効な場合は、名前の変更に失敗することがあります。

public class Rename { 

    public static void main(String[] args) { 

     File f1=new File("c:\\tools\\one.pdf"); 
     File f2=new File("c:\\tools\\two.pdf"); 
     try{ 
      boolean result = f1.renameTo(f2); 
      System.out.println("worked? " + result); 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 
0

これは、Windowsパスの問題または権限の問題でない限り、私はすぐにコードの問題を表示しません。コメントに記載されているように、例外やエラーの結果を常に表示する必要があります。考慮すべき

ことの一つは、より良い、同じディレクトリ内のファイルの名前を変更するために、既存のFileオブジェクトを使用することです:

// someExistingFile defined above 
File destinationFile = new File(someExistingFile.getParentFile(), "two.pdf"); 
someExistingFile.renameTo(destinationFile); 

これは、既存のファイルのディレクトリを使用して、それに新しいファイルの相対を作成します。 。

関連する問題