gpt4 book ai didi

java - 我可以使用相对路径而不是绝对路径重命名文件。为什么不?

转载 作者:行者123 更新时间:2023-12-01 19:56:52 25 4
gpt4 key购买 nike

我无法使用绝对路径重命名文件:

我玩过很多次并搜索了SO和其他网站但没有找到答案。

我有一个文件“/home/john/test/foo”。

在 REPL 中:

(use '[clojure.java.io])
nil
user=> (defn re-name
#_=> "Rename a file"
#_=> [old-path new-path]
#_=> (.renameTo (file old-path) (file new-path)))
#'user/re-name
user=> (re-name "foo" "bar")
true
user=> (re-name "bar" "foo")
true
user=> (re-name "/home/john/test/foo" "home/john/test/bar")
false
user=> (re-name "foo" "bar")
true

我想知道我错过了什么明显的东西......

最佳答案

您缺少的明显的事情:-)是您将绝对路径重命名为相对路径:

(re-name "/home/john/test/foo" "home/john/test/bar")

这可能会失败,因为相对目录“home/john/test”不存在。

要找出程序在哪里运行,您可以执行以下操作:

(System/getProperty "user.dir")

修复重命名问题:

(re-name "/home/john/test/foo" "/home/john/test/bar")

关于java - 我可以使用相对路径而不是绝对路径重命名文件。为什么不?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49339151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com