24

次のファイル コンストラクタを理解できませんでした。

public File(String parent, String child) and 
public File(File parent, String child)

ファイルのパラメーターparentと意味は何ですか? childこれらはいつ使用できますか? ファイルに関連するプログラムをいくつか実行しましたが、これらを使用したことはありません。私は通常使用します

public File(String pathname)

Javadocを読みましたが、これらのコンストラクターをいつ、どのように使用するかわかりませんでした。誰かが説明して例を挙げてください。

4

4 に答える 4

36

説明

parentパラメータは、childファイル名または相対ファイル パスの親ディレクトリです。

はファイルインスタンスparentで、ディレクトリ ファイルです。は文字parent列であり、単純に言えばそのディレクトリpathnameです。


次の部分的なファイル システムを検討してください。

Documents
    Homework
    Classwork
    Tests

新しい各ファイルを「Documents\Subdir」で宣言するのではなく、Documents ディレクトリをファイルとして宣言し、それをparent他の File インスタンスの Fileとして使用できます。

File documents = new File("Documents");
File tests = new File("Documents/Tests"); // new File(String);

File homework = new File(documents, "Homework"); // new File(File, String)

File classwork = new File("Documents", "Classwork"); // new File(String, String)

実際のアプリケーション

私の経験では、サードパーティの「プラグイン」がファイルの保存/読み取りを許可されているディレクトリ ファイルを返すメソッドを含む API を提供するアプリケーションを使用しました。コンストラクターがなければFile(File, String)、ディレクトリ ファイルを絶対パスに変換し、そこにターゲット ファイルを追加する必要があります。

次の例でEnvironment.getProgramDirectory()は、アクセス許可が付与されているディレクトリ ファイルを返します。

File settingsFile = new File(Environment.getProgramDirectory(), "settings.txt");
于 2012-08-28T18:36:49.433 に答える
2

「親抽象パス名はディレクトリを表すために使用され、子パス名文字列はディレクトリまたはファイルを表すために使用されます。」APIで指定されているとおり

于 2012-08-28T18:38:21.283 に答える
1

Parentを指しますDirectory

ChildそのContents..

于 2012-08-28T18:38:48.600 に答える
1

いくつかの例で説明しましょう:

次の構造があると仮定します。

/dir1
  dir11

通常使用するコンストラクターは次new File("/dir1/dir11")と同等です

new File("/dir1", "dir11")String(引数として2 を取るコンストラクター)

また、同等

new File(new File("/dir1"), "dir11")File(最初の引数としてa を使用するコンストラクター)。

于 2012-08-28T18:42:47.023 に答える