0

新しいインスタンスを作成せずにJavaでFileクラスのファイルパスを変更することは可能ですか?

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

今すぐ戻りますC:\Users\username
親ディレクトリに行きたいです。こんな使い方ができると思った

file.setPath(file.getParent());

しかし、私は使用する必要があります

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

同じことを達成できる他の方法はありますか?または、複数のインスタンスを作成し、それらを配列に格納して、同時に 2 つのオブジェクト (ディレクトリ) を操作することはできますか?

4

2 に答える 2

3

どうやらあなたは逃したFile.getParentFile()

file = file.getParentFile();
于 2012-10-18T17:17:36.643 に答える
3

javadocsから:

Fileクラスのインスタンスは不変です。つまり、一度作成されると、Fileオブジェクトによって表される抽象パス名は変更されません。

したがって、いいえ、ファイルインスタンスを変更することはできません。別の値が必要な場合は、新しいファイルをインスタンス化する必要があります。

于 2012-10-18T17:21:44.307 に答える