8

私はコースプロジェクトに取り組んでおり、教授から与えられたこのコードブロックを使用して、1 つ目は現在のディレクトリからすべてのファイルを取得し、2 つ目はどのファイルが .dat 形式であるかを見つけることです。コードブロックは次のとおりです。

// Get all files from directory
File curDir = new File(".");
String[] fileNames = curDir.list();
ArrayList<String> data = new ArrayList<String>();

// Find files which may have data. (aka, are in the .dat format)
for (String s:fileNames)
    if (s.endsWith(".dat"))
        data.add(s);

ただし、プログラムをコンパイルしてテストしようとすると、応答として次のエラー メッセージが表示されます。

Prog2.java:11: cannot find symbol
symbol  : class File
location: class Prog2
   File curDir = new File(".");
   ^
Prog2.java:11: cannot find symbol
symbol  : class File
location: class Prog2
   File curDir = new File(".");
                     ^

確かに私は授業の経験がほとんどFileないので、完全に私のせいかもしれませんが、これはどうですか?

4

3 に答える 3

1

Naveen と Poodle は File クラスをインポートする必要があるという点で正しいと思います

import java.io.File;

これが私を助けた.datファイルを取得する別の方法です.FYI =)

これは、うまく機能する一般的なファイル フィルタリング方法です。

String[] fileList;
File mPath = new File("YOUR_DIRECTORY");

FilenameFilter filter = new FilenameFilter() {
    @Override
    public boolean accept(File dir, String filename) {
        return filename.contains(".dat");
        // you can add multiple conditions for the filer here
    }
};

fileList = mPath.list(filter);
if (fileList == null) {
    //handle no files of type .dat
}

コメントで述べたように、フィルターに複数の条件を追加して、特定のファイルを取得できます。繰り返しますが、参考までに。

于 2013-10-04T14:39:44.677 に答える
1

Just add the following statement before the class definition:

import java.io.File;

If you use IDE, like Eclipse, JDeveloper, NetBeans, etc. it can automatilly add the import statement for you.

于 2013-10-04T14:26:26.820 に答える