1

Javaファイルの名前を変更することに疑問があります...私のアプリケーションは、mdb、dbf、xls、xmlなどの着信ファイルの名前を変更する必要があります。フォーマット。次のソースコードを使用しました。

例えば:

String filename = "D:/sample.mdb";
File filediriden = new File(filename);
String[] filetype = filename.split("\\.");
System.out.println("Filetype :"+filetype[1]);
String newfilename = "D:/new."+filetype[1];
File newfilediriden = new File(newfilename);
System.out.println("New File Name "+newfilename);
boolean rename = filediriden.renameTo(newfilediriden);
if(rename)
   System.out.println("File Renamed");
if(filediriden.isFile()){
    System.out.println("filename" + filediriden.getName());
}else{
    System.out.println("not a filename");
}

OUTPUT:
Filetype  : mdb
New File Name D:/new.mdb
File Renamed
not a filename

その後、ファイルかどうかを確認しましたが、ファイルには入りません...ヘルプplz ...

4

2 に答える 2

3
boolean rename = filediriden.renameTo(newfilediriden);
if(filediriden.isFile()){

ファイルの名前を変更した後も、古い File オブジェクト ( filesiriden ) は、存在しない古い名前を指し続けます。新しい File オブジェクト ( newfilediriden ) を使用して確認します。

filetype[1]

また、複数のドットが含まれるファイルが存在する可能性があるため、おそらくfiletype[filetype.length-1] の方が安全です。

于 2009-01-12T09:18:44.420 に答える
1

問題は、newfiledirden ではなく filedirden をチェックしていることです。
テストの時点で、filedirden は、それが指すファイルの名前が変更されたため、もう存在しません。

于 2009-01-12T09:19:11.503 に答える