我在Java文件對象,它是一個目錄路徑:在一個文件對象改變最深目錄的名稱
C:\foo\foo\bar
...我想這個更改爲:
C:\foo\foo\newname
我不是說重命名實際的目錄,而是簡單地修改File對象中的路徑。有人能告訴我我該如何做到這一點?我是否必須爲此使用字符串函數,還是有一些內置的Java函數可以使用?
謝謝。
我在Java文件對象,它是一個目錄路徑:在一個文件對象改變最深目錄的名稱
C:\foo\foo\bar
...我想這個更改爲:
C:\foo\foo\newname
我不是說重命名實際的目錄,而是簡單地修改File對象中的路徑。有人能告訴我我該如何做到這一點?我是否必須爲此使用字符串函數,還是有一些內置的Java函數可以使用?
謝謝。
您可以構建從另一個文件和獲取文件的父目錄,結合這些:
File orig = new File("C:\\foo\\foo\\bar");
File other = new File(orig.getParentFile(), "newname");
我想你只能創建一個新的File
對象的新路徑:
File f2 = new File("C:\\foo\\foo\\newname")
它使你的代碼的任何副作用?
嘗試以下操作:
import java.io.File;
public class MainClass {
public static void main(String[] a) {
File file = new File("c:\\foo\\foo\\bar");
file.renameTo(new File("c:\\foo\\foo\\newname"));
}
}
希望這有助於。
您可以使用File對象的字符串表示並搜索最後一個/ with indexOf(),然後更改它後面的值並創建一個新的File對象。
不使用File.separatorChar。 – Tom 2011-01-12 07:27:49
我猜你需要這樣的事情。
String sourcePath = "C:\\foo\\foo\\bar";
String newName = "newname";
File source = new File(sourcePath);
File dest = new File(source.getParent() + File.separator + newName);
source.renameTo(dest);
有沒有在java中這樣的方法,對於文件對象改變路徑,但是你可以得到的getPath()或getAbsolutePath()的文件路徑。我認爲在這條路上創建一個新文件就行了。
他不希望文件的實際名稱改變。 – Tom 2011-01-12 07:25:48