ここは私のコードです。 [... 020406,020407]と私はそのようなものであるファイル内のパターンを探しています:私は次のようになります日付のArrayListに日付を保存はパターンがArrayList文字列変数と一致していません
c001z020102
c002z020103
...
コード:
private void printReaderContent(BufferedReader reader) throws IOException {
String line = null;
for(String tmp : dates) {
while ((line = reader.readLine()) != null) {
if (line.matches("[c]{1}[0-9]{3}[z]{1}" + tmp)) {
xmlCodes.add(line);
} else {
}
}
}
System.out.println(xmlCodes);
}
をだから私は、私のコードのようなマッチメソッドがあり、私はこのパターンを組み合わせるためにtmp変数を追加しようとしているので、ファイルから選択した結果を得ることができます。 [c] {1} [0-9] {3} [z] {1} [0-9] {2} [0-9] {2} [0-9] {2}のような標準パターンを使用すると、それは作業だが、毎回私が代わりにTMPを入れて、私は空白のArrayListのは、私が間日の量を計算するjodaTimeを使用していると私は日付のArrayListに格納する:(返されます:
public void countDatesBetween()
{
int days = Days.daysBetween(dataPierwsza, dataOstatnia).getDays();
for (int i = 0; i <= days; i++)
{
DateTime d = dataPierwsza.withFieldAdded(DurationFieldType.days(), i);
dates.add(d.toString("yyMMdd"));
}
}
私は複数行を持つファイルを持っていますc001z040206。ユーザーは2014年6月6日と2014年6月8日のように2つの日付を入れます---> coundDatesBetweenは、次のような配列リスト(dates.toString( "yyMMdd")を作成します:[140606、140607 、140608]次に、 "[c] {1} [0-9] {3} [z] {1}"であるc001zのパターンでファイルを検索し、基本的に反復しているtmpから選択した日付を取得したいdates ArrayList。だから、例えば次のようになるはずです:c001z140606 --->ファイル内でそれを見つけ、xmlCodesに戻りますString ArrayLisしかし、それは空白のarraylistを返すだけです。
あなたがやろうとしていることや見ていることはわかりません。[mcve]であなたを助けるのは簡単でしょう。 (特に、countDatesBetweenは他の質問と何が関係しているのかわかりません) –
コメントに情報を入れないでください。代わりに質問を常に更新する – GhostCat