0

テキストファイルを読み取り、日付のみを形式で出力する簡単なプログラムを作成しようとしていますyyyy.MM.ddが、問題は、ファイルにいくつかのランダムな文字列があることです fe ppppp 2012-12-13 2012-13-06印刷する日付

public class Main {
    public static void main(String... args) {
        String fname = System.getProperty("user.home") + "/Test/dates.txt";
        File f = new File(fname);
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            format.setLenient(false);
            Scanner sc = new Scanner(f);

            ArrayList<String> da = new ArrayList<String>();
            while(sc.hasNext()) {
                da.add(sc.next());
            }
            for (int i = 0;i<da.size()-1; i++) {

                ParsePosition pp = new ParsePosition(0);
                Date d = (Date) format.parse(da.get(i), pp);
                if (d == null) {
                    System.err.println("Invalid date in " + da.get(i));
                    continue;}
                System.out.println(d);
            }
        } catch (FileNotFoundException e) {

            e.printStackTrace();
        }
    }
}
4

1 に答える 1

0

次の手順を実行します

  • 2 つの dataformat オブジェクトを作成します。1 つはテキスト ファイルから日付を解析するためのもので、もう 1 つは解析された日付を書式設定して新しい形式で出力するためのものです。
  • Reader を使用して日付を 1 行ずつ読み取る
  • 各行 (つまり、読み取った日付) -- 解析 -- 再フォーマット -- コンソールに出力
于 2013-05-26T14:54:42.357 に答える