我是 Java 新手,正在开发一个项目来提高我的技能,需要一些帮助。
我有一个文件,我们将其命名为 tools.extension
,它必须转到已经有 tools.extension
文件的目录。我希望我的代码检查 tools.extension
是否存在,如果存在,则将其重命名为 tools(currentdate).extension
。
所以我尝试这个来测试逻辑:
Scanner myS = new Scanner(System.in);
Path path = Paths.get(myS.nextLine());
Path file = Files.createFile(path);
Path path1 = Paths.get(myS.nextLine());
Path file1 = Files.createFile(path1);
if (file.getFileName() == file1.getFileName())
{
System.out.println("file already exists");
}
else
{
System.out.println("File doesn't already exist");
}
Files.delete(file);
Files.delete(file1);
但是当然,后来我意识到某个地方会出现异常,但我只是想尝试这个来检查我的逻辑。
我总是得到文件不存在
即使我在不同的目录中创建两个 text.txt
文件也不会。它并不认为它们具有相同的名称,即使当我打印 getFileName()
时,它们都是相同的!
有人可以给我一些建议或向我指出对我有帮助的教程吗?
非常感谢您!
编辑:
非常感谢您提醒我 .equals,它正在工作!
我还有一个问题,如何重命名 file 或 file1?它们是我不知道的路径。
我应该使用 toFile() 方法,然后使用 renameTo() 吗?
最佳答案
这个if (file.getFileName() == file1.getFileName())
是错误的。
您应该使用 .equals(...)
方法比较字符串。
关于Java:将文件(使用路径)复制到目录并重命名同名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871652/