자바 클래스나 메소드 이름을 스트링으로 받아서 실행할 수 있나 찾아봤다. package classname; public class AppTest{ public void printIt(){ System.out.println("printIt() no param"); } public void printItString(String temp){ System.out.println("printIt() with param String : " + temp); } public void printItInt(int temp){ System.out.println("printIt() with param Int : " + temp); } } package classname; import java.lang.reflect.Method..
: class java.lang.Integer cannot be cast to class java.lang.Boolean (java.lang.Integer and java.lang.Boolean are in module java.base of loader 'bootstrap') 자바 프로그래밍을 하는데 위와 같은 에러가 났다. int i = (int)hashMap.get("A"); Object에서 (int) 로 형변환을 하려고 해서 에러가 난듯 하다. 그래서 int i = Integer.parseInt( hashMap.get("A").toString() ); 이렇게 해서 해결했다. String.valueOf 써되 되었다.
java.lang.ClassCastException: class org.apache.poi.openxml4j.uti.ZipSecureFile$ZipFileInputStream (org.apache.poi.openxml4j.util.ZipSecureFile$ThresholdInputStream is in unnamed module of loader org.apache.catalina.loader.WebappClassLoader ; java.util.zip.ZipFile$ZipFileInputStream is in module java.base of loader 'bootstrap') 자바로 엑셀 다운로드 프로그램을 만들고 있는데 위와 같은 에러가 났다. 이상하네.. 분명 구글링해서 아주 간단한 샘플 소스 ..
윈도우에서 자바 io 프로그램을 하다 보면 Exception in thread "main" java.nio.file.NoSuchFileException 이런 에러를 종종 본다. 말그대로 파일이 없다는 말이고.. Paths.get("sports") 이렇게 있다고 할때 윈도우에서 어디에 디렉토리가 있어야 하냐면 해당 프로젝트에 디렉토리가 있어야 한다. 예를들어 ocpjp 라는 프로젝트를 만들어서 ocpjp라는 디렉토리가 있다면 그 밑에 sports 라는 디렉토리가 있어야 한다. D:\workspace\ocpjp\sports ================================== 두번째로 슬래쉬 / 가 있을경우 Paths.get("/sports") 라고 하면 디스크드라이브 가장 최상단이다. 마치 리눅스..
의외로 중요한 자바 파일 다루는것을 잘 못하는 개발자가 많다. 그냥 파일명을 년월일시분초밀리세컨드 하면 유일하다고 생각하는 사람이 많다. 하지만 동시접속하는 사람이 많으면 얘기가 달라진다. 중복이 생길수가 있다. 그래서 년월시시분초밀리세컨드로 부족하니 랜덤값을 붙여주는게 좋다. 아래 코드는 년월시시분초밀리세컨드+5자리 랜덤값을 붙여 리턴하는 메소드 이다. 이러면 유일한 값으로 사용할 수 있을것이다. 정 불안하면 랜덤값을 더 만들어도 되고.. 컨피그에는 D:/fileDown yyyy/MM/dd yyyyMMddHHmmssSSS 라고 가정하고 public File makeUploadDirSuffix(String ty, String userFileName){ Random rand=new Random(); int..
jsp 화면에서 자바스크립트를 쓸때 한글이 서버로 넘어가면 한글이 깨진다. 그래서 한글 인코딩을 해줘야 한다. 자바스크립트에서는 encodeURL("한글"); 이렇게 한글 인코딩을 해서 넘기고 서버에서는 String code = URLDecoder.decode(code,"UTF-8"); 이렇게 한글 디코딩을 해서 쓴다. 다시 서버에서 한글 인코딩을해서 보내야할 경우에는 code=URLEncoder.encode(code,"UTF-8"); code=code.replaceAll("\\+","%20"); 이렇게 다시 서버에서는 한글 인코딩을 한다. 왜냐하면 URLEncoder.encode를 하면 공백부분에 +가 생긴다. 그래서 replaceAll로 +를 공백 인코딩문자(%20) 으로 바꿔준다. replaceAl..
자바스크립트 배열을 jsp에서 넘겨서 스프링에서 받을일이 있다. 처음애 그냥 아무생각없이 자바스크립트 배열을 넘겨서 자바 List로 받아서 split으로 , 로 구분해서 쓸려고 했는데 NumberFormatException 이 발생했다. 자바에서 리스트를 찍어보니 [3,4] 이런식으로 찍혀서 리스트로 잘 받나했더니.. 그냥 객체가 찍힌것이 였다. split은 스트링에서 쓰는건데 그냥 객체가 있으니 split이 안되고 통으로 [3,4] 가 그대로 있었다. 구글링은 해보니 join을 쓰면 된다고 해서 썼더니 정말로 되었다. console.log 로 찍어보면 join을 안쓰면 객체가 찍히고, join을 쓰니 스트링으로 찍혔다. join 설명 .join() .join()은 배열의 원소들을 연결하여 하나의 값으로..
데몬 에러로그를 보니 RouteBuilder error - java.lang.ClassNotFoundException 이 발생하였다. 흠.. 뭐지.. 알고보니 데몬이 뜰때 참조하는 클래스 정보가 있는데 클래스 정보 입력하는 곳에 오타가 있었다. 그러니 당연히 클래스를 찾을 수 없다는 에러가 발생하지... 그래서 오타 수정하고 다시 데몬을 켜니 에러가 발생하지 않았다. 로그를 잘 봐야 한다. Exception으로 검색해서 안나올때까지...
개발을 하다 보면 자주 일어나는 에러다. numberformatexception: For input string:"" Integer.parseInt(hashMap.get("AA").toString() ); 이런 구문을 쓰다가 위의 에러를 만났다. 이상하다.. 분명 값이 있는데... 알고보니 아예 값이 없었다. For input string:"" 말그대로 input 값이 "" 즉, 값이 없다는 뜻이다. 값이 있었으면 에러가 안났을텐데 아예 값이 없어서 뭘 변환할것이 없어 에러가 났다.
- Total
- Today
- Yesterday
- XE
- 파이썬
- Python
- 자바
- esql
- 문자열
- 프로씨
- C언어
- MySQL
- 스크래핑
- 포인터
- ocajp
- 오라클
- xe addon
- XE3
- JDBC
- php
- 이클립스
- 인포믹스
- EC
- webix
- 라이믹스
- ocjap
- 파싱
- proc
- KG
- xe애드온
- 자바 smtp
- 플러터
- C
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
