現在、ファイルを読み取り、キーワードを検索し、キーワードの出現回数を出力するプログラムがあります。すべてのファイルを読み取る関数を作成する必要があり、この関数をスポットに挿入して、出現回数の合計を表示する必要があります。
私は現在、このような1つのファイルを読んでいます
try (BufferedReader br = new BufferedReader(new FileReader("C:\\P4logs\\out.log.2012-12-26")))
{
現在、ファイルを読み取り、キーワードを検索し、キーワードの出現回数を出力するプログラムがあります。すべてのファイルを読み取る関数を作成する必要があり、この関数をスポットに挿入して、出現回数の合計を表示する必要があります。
私は現在、このような1つのファイルを読んでいます
try (BufferedReader br = new BufferedReader(new FileReader("C:\\P4logs\\out.log.2012-12-26")))
{
フォルダー パスを取得し、そのフォルダー内のすべてのファイルをループして、不要なファイルを除外するチェックを行う必要があります。
File path = new File(path); //path to your folder. eg. C:\\P4logs
for(File f: path.listFiles()) { // this loops through all the files + directories
if(f.isFile()) { // checks if it is a file, not a directory.
// most basic check. more checks will have to be added if
// you have other files you don't want read. (like non log files)
try (BufferedReader br = new BufferedReader(new FileReader(f.getAbsolutePath()))) {
// gets the full path of a file. so "C:\\P4logs\\out.log.2012-12-26"
//do stuff
}
}
}
それは簡単です:
File folder = new File("C:/path_to_your_folder/");
for (File file : folder.listFiles()) {
// Got a file. Do what you want.
}
再帰検索には再帰関数が必要です
void readAllFiles(final File myFile) {
if(file.isFile()) {
//read the file and whatever
return;
}
for(final File childFile : myFile.listFiles()) {
readAllFiles(childFile);
}
}