어제하던거에 이어서 본격적으로 파일로 만들어보기로 함.
먼저 지정된 날짜부터 지정된 날짜까지 순서대로 추출하는거기때문에
날짜데이터를 사용할수있는 LocalDateTime 를 가져옴.
of() 로 기준 날짜를 정해주고
plusDays() 로 원하는 일수만큼 더하는 메서드를 이용.
그리고 Formatter를 이용해서 날짜형식을 어떻게 가져올지 지정.
public class DateGenerator {
public String setRange() {
LocalDateTime datetime1 = LocalDateTime.of(2021, 1, 11, 0, 0);
LocalDateTime datetime2 = datetime1.plusDays(1);
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMdd");
String formatDateTime = datetime2.format(format);
System.out.println("After Formatting: " + formatDateTime);
return formatDateTime;
}
}
결과
After formatting: 20210112
return 값을 url로 지정해준다.
public class Main {
public static void main(String[] args) throws IOException {
String date = new DateGenerator().setRange();
String url = "https://velog.io/@kyukim/" + date;
Document doc = Jsoup.connect(url).get();
// ...생략
File, FileWriter을 이용해서 파일생성을 테스트한다.
File file = new File("test.md");
FileWriter fw = new FileWriter(file);
fw.write(markdown);
fw.flush();
fw.close();
잘 생성되는 것을 확인.
잘 생성되면 for문으로 감싸서 자동으로 생성해준다.
나는 TIL이 96개 있으므로 96번 돌려줌.
public class Main {
public static void main(String[] args) throws IOException {
for (int i = 1; i < 96 + 1; i++) {
String date = new DateGenerator().setRange(i);
String url = "https://velog.io/@kyukim/" + date;
Document doc = Jsoup.connect(url).get();
// ...생략
그리고 파일명도 DateGenerator에서 생성해줬떤 date로 변경해주는 것을 잊지 않는다.
String pathName = date + ".md";
File file = new File(pathName);
FileWriter fw = new FileWriter(file);
아래와 같이 쭊쭊 만들어지는 것을 확인