ile deneyin.
public static void modify(File file)
{
int index = file.getName().indexOf(".");
//print filename
//System.out.println(file.getName().substring(0, index));
//print extension
//System.out.println(file.getName().substring(index));
String ext = file.getName().substring(index);
//use file.renameTo() to rename the file
file.renameTo(new File("Newname"+ext));
}
düzenlemek: John yöntem dosyası (uzantısı tutmak) adlandırır. uzantısını değiştirmek için yapın:
public static File changeExtension(File f, String newExtension) {
int i = f.getName().lastIndexOf('.');
String name = f.getName().substring(0,i);
return new File(f.getParent() + "/" + name + newExtension);
}
Bu yalnızca değişiklikleri bir dosya adına son uzantısını, archive.tar.gz
yani .gz
bölümünü. Bu nedenle, adının bir .
ile başladığı linux gizli dosyaları ile iyi çalışır Bu, getParent()
, null
döndürdüğü için (yani, ebeveynin sistem kökü olması durumunda) boş bir Dize için "döküm" olduğu için oldukça güvenlidir. Dosya yapıcısına yapılan tüm argüman ilk önce değerlendirilir.
Komik bir çıktı elde edeceğiniz tek durum, sistem kökü kendisini temsil eden bir Dosyayı iletirseniz, bu durumda null
yol dizesinin kalanına eklenir.
ile de http://commons.apache.org/io/api-1.4/org/apache/commons/ çalışır io/FilenameUtils.html) –
[File.renameTo] okumaya başladım (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#renameTo (java.io .File)) – MadProgrammer
@Nandkumar: Teşekkürler, benim için faydalı olacağını düşünüyorum. Ancak sorun, dosyayı daha sonra açabileceğim gibi görünüyor (başka bir oturumda olabilir). Önceki uzantıyı nasıl korurum? – rahul0789