Java:将文件(使用路径)复制到目录并重命名同名文件

标签 java

我是 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/

相关文章:

java - Spring Boot - 如何有条件地启用/禁用 session

Java 程序对输入不执行任何操作(

java - 实现 URL 过滤器

java - Java中使用双计数器进行同步

java - 如何将负整数值转换为 char 数据类型

java - 在 Android 的 Java 中,它更快更高效

java - 使用反射打印列表

java - 从叶子创建求和树

java - 在构造函数中使用自定义比较器

java - 向 Jersey multipart-form-data 函数添​​加注释会破坏它