4

Javaコードを使用してディレクトリを開くことができるようにしたいと考えています。ディレクトリは、ファイルを含むフォルダを含む「フォルダ」を意味します。これは私が今持っているコードの一部です:

public void listFiles(String folder) {
    File directory = new File(folder);
    File[] contents = directory.listFiles();
    System.out.println(contents);

何らかの理由で、フォルダーをディレクトリ レベルにポイントすると、次の行が返されます。

   [Ljava.io.File;@67d07b41

しかし、1 レベル下 (ファイルを直接含むフォルダー レベル) にポイントすると、フォルダー内のファイル名が正常に一覧表示されます。なぜこれがうまくいかないのか、誰かが私に指針を与えることができますか?

4

1 に答える 1

5

コードを次のように変更します。

public void listFiles(String folder){
File directory = new File(folder);
File[] contents = directory.listFiles();
for ( File f : contents) {
  System.out.println(f.getAbsolutePath());
}

そして、すべてのフルパスが印刷されます。

配列オブジェクトを出力しているため、その奇妙な出力が得られます。これは、配列オブジェクトがとして持つものtoString()です。アレイの内容を印刷する場合は、上記のように手動で行う必要があります。

于 2012-12-17T18:05:45.703 に答える