Newer
Older
KisoJikkenNWP / src / main / java / istlab / KisoJikken / ConfigManager.java
@motoki miura motoki miura on 12 Sep 2023 1 KB 0.76
package istlab.KisoJikken;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class ConfigManager {

    File userdir;

    public ConfigManager(String dir) {
        if (dir == null) {
            userdir = new File(System.getProperty("user.home"));
        } else {
            userdir = new File(dir);
        }
    }

    public String getDate(int plusday){
        // 現在の日付を取得
        LocalDate today = LocalDate.now();        
        // plusday日後の日付を計算
        LocalDate futureDate = today.plusDays(plusday);
        // 日付文字列のフォーマットを指定
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        // フォーマットに従って日付文字列を生成
        return futureDate.format(formatter);
    }

    // 10日先の日付を設定する
    public void write() {
        try {
            File file = new File(userdir.getAbsolutePath() + File.separator + ".nwp.conf");
            FileWriter fw = new FileWriter(file);
            fw.write(getDate(10));
            fw.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }

    public boolean readAndCheckDate(){
        BufferedReader br;
        try {
            File file = new File(userdir.getAbsolutePath() + File.separator + ".nwp.conf");
            FileReader fr = new FileReader(file);
            br = new BufferedReader(fr);
            String today = getDate(0);
            String line = br.readLine();
            System.out.println(line+" "+today+" "+line.compareTo(today));
            if (br != null) br.close();
            return (line.compareTo(today)>0);
        } catch (IOException e) {
            // System.out.println(e);
            return false;
        }
    }

}