我在Java中有File对象,它是一个目录路径:
C:\foo\foo\bar
...我想将其更改为:
C:\foo\foo\newname
我不是指重命名实际目录,而是简单地修改File对象中的路径。有人能告诉我如何做到这一点吗?我是否必须使用字符串函数,或者是否有一些我可以使用的内置Java函数?
感谢。
答案 0 :(得分:2)
您可以从另一个文件构造一个文件并获取文件的父目录,并将它们组合在一起:
File orig = new File("C:\\foo\\foo\\bar");
File other = new File(orig.getParentFile(), "newname");
答案 1 :(得分:1)
在java中没有这样的方法来改变File对象的路径,但是你可以使用getPath()或getAbsolutePath()来获取文件路径。我认为在该路径上创建一个新文件就可以了。
答案 2 :(得分:0)
我认为你只能使用新路径创建一个新的File
对象:
File f2 = new File("C:\\foo\\foo\\newname")
它会对您的代码产生任何副作用吗?
答案 3 :(得分:0)
请尝试以下操作:
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"));
}
}
希望这有帮助。
答案 4 :(得分:0)
您可以使用File对象的字符串表示形式并搜索last / with indexOf(),然后更改它后面的值并创建一个新的File对象。
答案 5 :(得分:0)
我想你需要这样的事情。
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);