2 つのクラス フィールドがあり、1 つは CSVUtils.java という名前で、もう 1 つは FilesCollector.java という名前です。CSVUtils.java には、FilesCollector.java によって呼び出される matchValues(String csvFile, int columnNumber, String matchValue) という名前の静的メソッドが含まれています。基本的にはこんな感じ
Public Class CSVUtils {
private static String FILENAME;
private static int COLUMN;
private static String MATCHVALUE;
public static void matchValues(String csvFile, int columnNumber, String matchValue) {
try {
//read csvFile, match values, and write to outPut file. details omitted.
} finally {
csvReader.close();
csvWriter.close();
System.out.println("success");
System.exit(0);
}
}
}
FilesCollector.java では、Apache Commons-IO を使用して CSV ファイルのリストを取得し、配列 File[] csvFiles に格納します。次に、以下の for ループを使用して個々の csv ファイルを処理します
for (File e : csvFiles) {
CSVUtils.matchValues(e.getAbsolutePath(), 9, "Yes");
}
ただし、何らかの理由で、上記の for ループは File[] csvFiles 配列の最初の csv ファイルしか処理できません。私のコードのどこが間違っている可能性があるか教えていただけますか? どうもありがとう!
編集:この行をコメントアウトした後 System.exit(0); 私のコードは機能しています。このコード行でメソッドが機能しないのはなぜですか?