当前位置: 首页 > 知识库问答 >
问题:

java中没有新对象实例的新文件路径

魏冷勋
2023-03-14

是否可以在不创建新实例的情况下更改java中File类的文件路径?

File file = new File(System.getProperty("user.home")); <br>
System.out.println(file.getPath());

返回C:\用户\username
现在我想转到父目录。我想我可以用这样的东西

file.setPath(file.getParent());

但我得用

file = new File(file.getParent());

我还有其他方法可以达到同样的效果吗?或者我可以创建多个实例,将它们存储在一个数组中,同时处理两个对象(目录)?

共有2个答案

孙光临
2023-03-14

显然你错过了文件。getParentFile()

file = file.getParentFile();
谭畅
2023-03-14

从javadocs:

File类的实例是不可变的;也就是说,一旦创建,由文件对象表示的抽象路径名将永远不会更改。

因此,不,您不能更改文件实例。如果需要不同的值,则必须实例化一个新文件。

 类似资料:
  • 将Java对象或列表写入文本文件是可以的。但是我想知道如何更新或重写之前写入的对象而不再次写入对象。例如,假设有一个java.util.List有一组对象。然后该列表被写入一个文本文件。然后该文件将被再次读取,并从列表中获取所有对象,然后由java应用程序在运行时更改一个对象的值。然后我不需要将整个列表写回文本文件。相反,只需要在列表中更新的对象被重写或在文本文件中更新,而不需要再次重写整个列表。

  • 我试图在java中使用Hibernate和TypedQuery。 我试图调用的方法有一个签名 我想像bellow一样调用它,但是用一个真实的实例替换null。 上面的代码经过编译,但显然带有空指针异常。 如果我对擦除的理解是正确的,那么只要我得到类对象的一个实例,这就行了,因为所有泛型类型信息在运行时都会丢失。 是否有任何方法,我可以得到一个类的实例,我可以分配给变量cls,使这个代码将工作?

  • 问题内容: 我的文件夹中有JavaScript文件。Django可以很好地找到并加载它们,因此我认为我的选项配置没有任何问题。但是,有时候,当我对文件进行更改并保存时,使用该文件的Django模板不会反映这些更改- 使用浏览器检查javascript会在最后一次保存之前显示javascript。重新启动服务器没有任何作用,尽管重新启动计算机有时可以解决问题。我没有任何明确处理缓存的代码。有没有人经

  • 从类和对象创建的锁有什么区别吗? 在中,我看到了这段代码,我想知道的想法,而不仅仅是

  • 我想使用我拥有的User对象更新文档,但如果文档不存在,我不希望创建该文档,因此我不能将“DocumentReference.set”与“SetOptions. Merge()”一起使用(据我理解)。 然而,根据这篇文章(使用{合并: true}设置和更新之间的区别),“更新”实际上是我需要的命令。我的问题是,更新似乎不接受Java对象。 我不想自己检查文档是否存在,因为这会导致不必要的阅读。 有

  • 我在Linux中有一个简单的java文件。我正在执行来自父java类的另一个java程序HelloWorld。 非常感谢。