본문 바로가기

Java23

[Java] InputStream 활용하여 byte 읽을 때 짤림 현상 조치 InputStream 활용하여 byte[] 로 데이터를 읽는데, 읽을 데이터가 너무 많아서 그런지 마지막에 [][][][][][][][][]... 이렇게 짤렸다. InputStream is = zipFile.getInputStream(zipEntry); byte[] dataArray = new byte[is.available()]; is.read(dataArray); is.available() 을 썼음에도 불구하고 ㅠ 그래서 해결한 방법은! InputStream is = zipFile.getInputStream(zipEntry); byte[] dataArray = is.readAllBytes(); InputStream.readAllBytes() !! 단, 이 방법은 Java9 이상 사용가능하다. 참고) .. 2020. 1. 28.
[Java] java.io.FileNotFoundException '파일경로' (No such file or directory) java.io.FileNotFoundException '파일경로' (No such file or directory) at java.at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.(FileOutputStream.java:187) 행안부 우편번호 API 를 개발하면서 발생한 에러. (삽질로 읽어야 함;;) 행안부에 나와있는 가이드 고대로 했는데.. 2020. 1. 28.
[JAVA] java.lang.StringIndexOutOfBoundsException JAVA 에서 String 문자열을 자르려고 substring() 을 사용했는데 이런 오류가 났다.. java.lang.StringIndexOutOfBoundsException: String index out of range: 300 원인 : 300자가 안되는 문자열을 300자로 자르려고 해서 발생. 해결 : substing() 전 length 체크하는 분기로직 추가..ㅠ 오류메세지에 답이 있지만, 기록하려고 또 끄적끄적 ☺️ 2019. 7. 12.
[로그백(Logback)] Rolling 기준 (maxHistory) 로그백을 사용하여 로그를 쌓고 있었는데, 쌓는 기준을 변경하게 되었다. 기존 : 시간 단위로 적재 변경 : 일 단위로 적재 따라서 로그백 코드 중 `fileNamePattern` 에서 시간 단위를 제거 하는 것으로 작업을 끝마쳤는데 .... 1 2 3 4 5 ${LOG_PATH}/old/${LOG_FILE}-%d{yyyyMMdd}.%i.log.gz 720 300MB Colored by Color Scripter cs 서버에 접속하여 쌓인 로그들을 보니 파일이 어마무시하게 많아졌다 😨 찾아보니 단순히 `fileNamePattern` 만 수정할게 아니고 `maxHistory` 도 같이 수정해줘야 하더라. 그니까 패턴만 수정했으니 지금 720일이 Rolling 되도록 해논 것 ... ㅋㅋㅋㅋㅋㅋㅋㅋ 그래서 결.. 2019. 2. 8.
JAVA 숫자 세자리 수 마다 콤마찍기 자바스크립트말고 자바에서 숫자를 세자리 수 마다 콤마(,) 를 찍는 방법은... 단순했다. (맨날 까먹어서 문제;) DecimalFormat 이 #,### 이라고 해서 딱 4자리까지만 처리되지않고 모든 자릿수에 대응된다 :) int returnData1 = 123123; DecimalFormat Commas = new DecimalFormat("#,###"); String returnData2 = (String)Commas.format(returnData1); return returnData2; 2018. 8. 8.
SimpleDateFormat 나만 몰랐을 수 있는 활용법 SimpleDateFormat 을 사용할 때 요일정보는 영어로 주는데Locale.KOREA 인자와 같이 주면 한국어로 한국어로 데이터를 넘겨준다 ㅋㅋㅋㅋㅋㅋㅋㅋ이걸 이제 .. 알았다 .... * 사용방법 *1SimpleDateFormat sdf = new SimpleDateFormat("MM월 dd일 (E) hh:mm a", Locale.KOREA);cs 2018. 8. 6.