본문 바로가기

Backend/JAVA12

[JAVA] LocalDateTime to String과 String to LocalDateTime LocalDateTime to String String localDateTime = "2022-11-09T08:11"; localDateTimeNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); (현재 시간 예시) String dateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); String to LocalDateTime String date = "2022-11-09 08:11" DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); LocalDateTime dateT.. 2022. 11. 9.
[JAVA] 파일 작성 시 잘릴 때(?) BufferedWriter 클래스 flush() 파일을 쓸 때 중간에 끊기는 이슈를 발견했는데 출력은 분명 잘 되는데 작성이 안됐었다....... 파일 확장자 변경해가면서 하루 종일 삽질하다가 찾은 이유가 BufferedWriter의 버퍼 사이즈를 넘긴 게 이유였다. default size는 16384 bytes (16KB) 이다. BufferedWriter 클래스 - flush() : 버퍼를 비움. - close() : 스트림을 닫고 버퍼를 비움. 16KB가 넘는 파일을 작성할 때는 flush()를 해주자 flush 함수를 기억하기 2022. 10. 24.
[JAVA] 파일 읽기, 쓰기 (한글 가능) JAVA 8 에서 파일 읽는 방법 파일 읽기 FileInputStream fileInputStream = null; InputStreamReader inputStreamReader = null; BufferedReader reader = null; String file = "(파일 절대 경로 + 파일명)"; # 혹은 File file = new File(file); # FileInputStream 인자로 경로(String), 파일(File) 둘다 가능 try{ fileInputStream = new FileInputStream(file); inputStreamReader = new InputStreamReader(fileInputStream, "utf-8"); reader = new BufferedRea.. 2022. 10. 24.
[IntelliJ] jdk 18 한글 깨짐 (해결 방법 : jdk 버전 변경하기) IntelliJ에서 한글이 깨지길래 다른 블로그에 나와있는 그대로 따라 intellij 설정을 바꿔봤지만 결과는 똑같아서 jdk 버전을 낮추기로 했다. 필자의 jdk 버전 정보는 18.0.1.1 인 상태이다. (18.0.2도 한글 설정이 안됐음, 버전을 낮춰야함.) 아래에 있는 오라클 사이트에 가서 JDK 버전을 낮춰서 다시 설치하자. https://www.oracle.com/java/technologies/downloads/#java8-windows JDK LTS 버전을 지원받으려면, 17 혹은 8(=1.8) 버전을 설치하는 것이 좋다. 왜냐하면 오라클 릴리즈 계획에 18은 근향후에 없기 때문... JAVA 17은 오픈 JDK여서 이메일 없이 다운이 가능하고 JAVA 8(=1.8) 혹은 JAVA 11은.. 2022. 8. 2.
[JAVA] split 함수 .(점) 동작 안될때 (java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 에러) 다음과 같이 파일명을 .(점)을 기준으로 split 하려고 했더니 제대로 동작이 안 되는 것을 확인할 수 있었다. 정규식을 사용할 때 .(점)은 예약어이기 때문에 split에서 기준 삼아 분리하는 정규표현식에서 제대로 동작하지 않았던 것이다. 따라서 예약어가 아닌 특수문자 .(점)으로 인식시키기 위해 \\. 을 넣어주어야 한다. 다음과 같이 작성하면 해결할 수 있다! 2022. 4. 21.
[JAVA] 이차원 문자열 배열 정렬 람다식을 이용해 Arrays.sort 메소드를 오버라이딩하여 쉽게 정렬할 수 있다. 첫 번째 인덱스 값에 따라 정렬되고, 만약 첫 번째 인덱스 값이 동일한 경우에는 두 번째 있는 값을 비교하여 정렬시킨다. 아래와 같은 코드를 사용한다. Arrays.sort(배열, new Comparator() { @Override public int compare(String[] o1, String[] o2) { if(o1[0].toString().contentEquals(o2[0].toString())) return o1[1].toString().compareTo(o2[1].toString()); else return o1[0].toString().compareTo(o2[0].toString()); } }); 다음과 .. 2021. 2. 6.