import java.util.Calendar;
public class CalendarEx {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c.getTime());
c.add(Calendar.DATE, -30);
System.err.println(c.getTime());
c.set(Calendar.YEAR, 2021);
c.set(Calendar.MONTH, 10); // 월은 1빼야함
c.set(Calendar.DATE, 9);
System.err.println(c.getTime());
}
}
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Scanner;
public class CalendarEx02 {
public static void main(String[] args) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.MONTH, 10);
c2.set(Calendar.DATE, 28);
long diff = c2.getTimeInMillis()-c1.getTimeInMillis();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
int interval = (int)(diff/1000/60/60/24);
List<String> dates = new ArrayList<String>();
for (int i = 0; i<interval; i++) {
dates.add(f.format(c1.getTime()));
c1.add(Calendar.DATE, 1);
}
Scanner s = new Scanner(System.in);
System.out.print("예약할 날짜 (yyyy-MM-dd) : ");
String strDt = s.nextLine();
if(dates.contains(strDt)){
System.out.println("선택한 날짜는 예약하실 수 없습니다.");
}
else {
System.out.println("선택한 날짜로 예약하셨습니다.");
}
LocalDate ldt = LocalDate.now();
System.out.println(ldt);
LocalTime ltime = LocalTime.now();
System.out.println(ltime);
}
}
txt 파일을 읽고 쓰는 코드
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
public class FileEX01 {
public static void main(String[] args) throws Exception{
// 출력 (파일에 쓰기)
BufferedWriter w = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(
new File ("prod.csv")
), "UTF-8"
)
);
// w.write("name,price, stock\r\n");
for(int i=0; i< 50; i++) {
Product p = new Product();
p.name = "제품 " + i;
p.price = 20000;
p.stock = 100;
w.write(p.toString() + "\r\n");
// 파일에서 다음줄로 내려가시오.
//커서를 제일 앞으로 당김 carriage return
//(맨앞으로 커서를 당긴 후 내려가라.)
}
// charater 기본설정은 UTF-8이 아니라 euckr - 인코딩을 맞춰야 함.(UTF-8로 해야 자바에서 출력. MS949는 엑셀)
w.close();
File f = new File("a.txt");
FileOutputStream os = new FileOutputStream(f,true);
OutputStreamWriter osw = new OutputStreamWriter(os,"UTF-8");
BufferedWriter writer = new BufferedWriter(osw);
writer.close();
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FileEx02 {
public static void main(String[] args) throws Exception {
// 입력 (파일 내용 가져오기)
BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream(
new File("prod.csv")
),"UTF-8"
)
);
List<Product> plist = new ArrayList<Product>();
while (true) {
String line = reader.readLine();
if(line == null) {
break;
}
String[] split = line.split(",");
Product p = new Product();
p.name = split[0];
// parseInt - 숫자로만 이루어진 문자열을 int타입으로 변환
p.price = Integer.parseInt(split[1]);
p.stock = Integer.parseInt(split[2]);
plist.add(p);
}
for (Product p : plist) {
System.out.println("제품명 : " + p.name + " / 가격 : " + p.price + " / 재고 : " + p.stock);
}
reader.close();
Scanner s = new Scanner(new File("prod.csv"));
while(true) {
String line = "";
try {line = s.nextLine();}
catch (Exception e) { break; }
System.out.println(line);
}
s.close();
}
}