-2

データを読み取る大きな csv ファイルがあります。したがって、そのファイルの日付が変更されると、新しいファイルを作成し、データを新しいファイルに保存することになります。最初の日付が 2012-05-29 であると仮定すると、その日付を 1.csv ファイルに保存し、日付が変更された場合2012-05-30 元の csv ファイルでは 2.csv にデータを保存します

問題は、2.csv という名前の新しいファイルを作成できるが、そのファイルにデータが入らないことです。助けてください

私のコード:

public class DateConverter {
    public static void main(String args[]) {
        String date = "2012-05-29";
        String olddate = "2012-05-29";
        int count = 1;
        String output = "D:\\usdinr_t\\" + count + ".csv";
        CsvWriter writer = new CsvWriter(output);
        try {
            CsvReader reader = new CsvReader("D:\\usdinr_t\\try.csv");
            reader.readHeaders();
            while (reader.readRecord()) {
                date = reader.get("date");
                if (!(olddate.equals(date))) {
                    writer.close();
                    writer.flush();
                    count = 2;
                    output = "D:\\usdinr_t\\" + count + ".csv";
                    writer = new CsvWriter(output);

                    olddate = date;
                }
                System.out.println(reader.get("date"));
                writer.write(reader.get("date"));
                writer.write(reader.get("ltp"));
                writer.endRecord();
            }

        } catch (Exception e) {
            System.out.println("FIle not found");
        }
    }

}
4

1 に答える 1

0

何が起こっているのかは、最終ファイルが決して閉じられず、フラッシュされないということだと思います。新しいファイルが作成されたときにのみ、ファイルを閉じてフラッシュします。

于 2013-04-11T10:35:26.167 に答える