私はこのタグを持っています
<META HTTP-EQUIV="Expires" CONTENT="Thu, 23 Aug 2012 09:30:00 GMT">
ファイル内。このタグをファイルで見つけて、コンテンツ部分を取り出し、現在の日付と時刻と一致させる必要があります。ファイル内の日付と時刻が現在の時刻よりも古い場合は、フラグを設定します。誰かが私にこれをするのを手伝ってもらえますか、私はこれに不慣れですか?ありがとう
SimpleDateFormat
に変換します。Calendar
Date
after()
/before()
APIを使用して比較します。これはあなたが始めるのを助けるかもしれません:
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class FindStringInFileTest {
public static void main(String[] args) {
File f = new File("c:/test.txt");
String res = find(f);
if (res != null) {
System.out.println("Found Meta Http-Equiv tag");
System.out.println(res);//print META HTTP-EQUIV line
//check the line for whatver dates etc here
} else {
System.out.println("Couldnt find Meta Http-Equiv tag");
}
}
public static String find(File f) {
String result = "";
Scanner in = null;
try {
in = new Scanner(new FileReader(f));
while (in.hasNextLine()) {
String tmp = in.nextLine();
if (containsMetaHttpEquiv(tmp)) {
result = tmp;//assign line which has META HTTP-EQUIV tag
break;//so we dont check more
} else {
result = null;
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}
public static boolean containsMetaHttpEquiv(String str) {
if (str.contains("<META HTTP-EQUIV=\"Expires\" CONTENT=")) {
return true;
}
return false;
}
}
テキストファイルを読み込んでタグをチェックし、META HTTP-EQUIV
タグを含む行/文字列を返すか、タグが見つからnull
なかった場合に返します。次に、 andメソッドをMETA HTTP-EQUIV
使用して日付を抽出し、これをaに解析してから、2つの日付を比較し、適切なフラグをファイルに書き込みます。substring()
indexOf()
SimpleDateFormat
編集:
HTTP-EQUIVMETAタグからコンテンツを抽出するために必要なメソッドは次のとおりです。
public static String getContentOfMetaTag(String tag) {
String search = "CONTENT=";
return tag.substring(tag.indexOf("CONTENT=") + search.length() + 1, tag.indexOf('>') - 1);
}
String
から返されたメソッドを使用してこのメソッドを呼び出しますfind(new File)
(呼び出す前にnullでないことを確認してくださいgetContentOfMetaTag(String tag)
)