language/java(28)
-
java 특정 문자열 개수 구하기
JAVA 에서 특정 문자열 개수 구하는 방법이다. 문자열 개수를 구하는 방법은 많이 있다. 무한 루프를 활용해서 indexof 를 활용하는 방법부터 여러 라이브러리를 활용한 방법까지... 본 포스팅에서 설명하는 방법은 commons-lang.jar 라이브러리를 활용한 방법이다. 12345 String txt = "Test, java, Oracle, main"; int countMatches = StringUtils.countMatches(txt, ","); System.out.println(countMatches);cs StringUtils 클래스를 활용하면 위와 같이 쉽게 구할 수 있다. 끝
2019.05.08 -
java 초간단 동적 jdbc 연결
java 초간단 동적 jdbc 연결 DB 접속정보에 따라 여러 DB를 동적으로 접근해서 특정 쿼리를 실행해야 하는 경우가 생겼다. 보통에 웹은 정해진 DB를 사용하며 spring 에서 data source 에 정보를 셋팅하고 mybatis 를 사용하면 쉽게 jdbc 를 사용할 수 있다. 동적으로 jdbc에 연결하는 방법은 무수히도 많을 것이다. 필자는 apache의 BasicDataSource 와 spring jdbc의 JdbcTemplate 를 사용해서 아주 심플하게 동적 연결을 구현해 보았다. 본 포스팅은 mybatis도 사용하지 않고 그냥 단순하게 연결해서 쿼리를 실행하는 방법을 작성한다. 먼저 필요한 라이브러리들이 있다. 기능은 간단하지만 라이브러리들간의 dependency가 있어서 총 8개의 라..
2019.04.02 -
java 리눅스 윈도우 명령어 실행 / command line executor / cmd
java 리눅스 윈도우 명령어 실행 / command line executor / cmd java 에서 리눅스 터미널 또는 윈도우 cmd 창에서 명령어를 실행시키는 방법이다. java.lang.Process 클래스를 이용할 것이며 Process 클래스를 획득하기 위해서는 java.lang.Runtime 클래스 또는 java.lang.ProcessBuilder 클래스를 활용해야 하는데 본문에서는 Runtime 클래스를 활용한다. 소스 설명은 주석으로 대체한다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5..
2018.05.11 -
Java 정규식 테스트 사이트
Java 정규식 테스트 사이트 Java 정규식을 테스트 할 수 있는 온라인 사이트는 찾아보니 많이 없다. 예전에 사용하던 사이트들도 없어진게 대부분이다. 거의다 php, javascript 등이 대부분을 차지했다. 그러다 우연히 좋은 사이트를 발견하게 되어 이참에 정리하려 한다. 일단 아래 링크를 클릭해보자. JAVA정규식 사이트로 이동 그럼 다음과 같은 사이트로 이동한다. 1번란에 정규식을 입력하고 2번란에 정규식을 테스트할 문자열을 입력한 뒤 Test 버튼을 클릭하면된다. 사용하는 것은 간단하나 해석하는 부분은 다른 언어의 정규식 사이트와는 다르다. 정규식은 java 비밀번호 정규식 포스팅에 있는 것을 사용했다. 위 결과 화면을 보게 되면 Test Results 라는 타이틀로 결과를 출력한다. 그런데..
2018.03.02 -
java 비밀번호 정규식 (특수문자, 영문, 숫자)
java 비밀번호 정규식 특수문자, 영문, 숫자를 혼합하여 작성하기 java 에서 정규식을 사용하기 위해서는 Pattern 클래스와 Matcher 클래스를 사용해야한다. 보통 비밀번호를 검사할때 특수문자 포함인지, 영문자, 소문자 포함인지 패턴을 검사한다. 이번 포스팅에서는 java 정규식과 String 클래스를 활용하여 다음과 같은 패턴을 검사하는 방법을 설명한다. 1. 영문(대소문자 구분), 숫자, 특수문자 조합 2. 9~12자리 사이 문자 3. 같은 문자 4개 이상 사용 불가 4. 비밀번호에 ID 포함 불가 5. 공백문자 사용 불가 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 String userId = "아이디"; Str..
2018.03.02 -
java 날짜 체크하기
java 날짜 체크하기 날짜를 입력받을 때 년도, 년월, 년월일 등을 입력받을 수 도 있지만 날짜의 유형에 어긋나도록 입력받을 수 도 있다. 예를들면 20182201 이런 형태는 22월이 없기 때문에 잘못 입력받은 날짜이다. 그래서 String 형태로 입력받은 날짜를 포멧별로 체크하는 함수가 필요했다. 날짜 체크 함수 1 2 3 4 5 6 7 8 9 10 public static boolean dateCheck(String date, String format) { SimpleDateFormat dateFormatParser = new SimpleDateFormat(format, Locale.KOREA); dateFormatParser.setLenient(false); try { dateFormatPars..
2018.02.23 -
JAVA BigDecimal 사칙연산(더하기, 빼기, 나누기, 곱하기), 비교 compareTo, 소수점 처리 (올림, 버림, 반올림)
JAVA BigDecimal 사칙연산(더하기, 빼기, 나누기, 곱하기), 비교 compareTo, 소수점 처리 (올림, 버림, 반올림) 자주 사용되는 BigDecimal 클래스에 대해서 정리해 놓으려 한다. 매번 사용되지는 않지만 실수의 정확한 연산이 필요할 경우 사용한다. 빈번하게 사용되는 다른 데이터 타입과는 다르게 정확한 계산이 필요한 경우에만 BigDecimal을 사용하다 보니 사칙연산이나 비교, 소수점을 처리할 때 자꾸만 검색을 하게 된다 ㅠㅠ 또한 검색하다보니 잘못 정리된 내용들이 많아 이참에 정리를 해두는 것이 좋다고 생각해서 정리해 보려고 한다. 1. 사칙연산 더하기, 빼기, 곱하기, 나누기는 각각 add, subtract, multiply, divide 함수를 활용하여 계산할 수 있다. ..
2017.11.16 -
Java bean to map, vo to map, 객체를 Map으로 변환
Java bean to map, vo to map, 객체를 Map으로 변환 bean 객체 즉 VO나 DTO 등을 Map으로 변환해야 하는 경우가 생겼다. 빈번하게 사용될 것으로 예상되어 모듈로 만들어 보았다. 만들다 보니 key에 대해서도 이슈가 있었다. key를 대문자로 할것인지 또는 어떤 case를 활용할 것인지 등등... 어떻게 쓰일지 몰라서 예상되는 몇가지는 고려해 두었다. 최종 완정된 소스는 Map의 Key 를 필드명 그대로 사용하거나, 대문자, 언더바를 제거한 후 camelCase, 특정 접두어를 제거하기 등이 고려되어 있다. 간단히 핵심소스를 살펴보고 맨 아래에 전체 소스를 작성해 둘것이다.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2..
2017.09.29 -
Java HttpUrlConnection 으로 통신하기 / 파일 전송 및 수신
Java HttpUrlConnection 으로 통신하기 / 파일 전송 및 수신 내용 참고 Java에서 특정 웹 사이트나 url을 호출하여 xml이나 json 방식을 리턴받아 사용할 경우가 있다. restful 방식이나 openAPI 방식을 사용할 때 도 역시 필요하고 웹 크롤링을 할 경우에도 사용할 수 있다. 이번 포스팅은 파일을 전송받기 위해서 만들어 놓았던 간단한 http 통신을 하는 예제이다. 꼭 파일을 전송받기 위한 것이 아니라 Json, xml, text 등 다양하게 활용 가능하도록 포인트를 적어 두었다. 즉, 아래 예제는 특정 url을 호출하여 제공되는 정보를 가져오는 방법이다. 본 포스팅과 바이너리 변환 방법 포스팅을 참고하면 http 통신으로 파일을 주고 받을 수 있는 모듈을 만들 수 있다..
2017.09.28 -
Java 파일을 바이너리 스트링으로, 바이너리 스트링을 파일로 변환 / 파일 전송
Java 파일을 바이너리 스트링으로, 바이너리 스트링을 파일로 변환 File to Binary String, Binary String to File 파일을 다른 곳으로 전송해 주어야 할 경우가 생겼다. 파일을 전송하는 방법에는 여러가지가 있다. 소켓을 사용하거나 http 통신을 사용하거나 ftp를 사용하거나 등등... 파일을 바이너리 형태로 만들어 보내고 사용자는 전달받은 바이너리 문자열을 다시 파일로 변환해야 한다. 필자는 http 통신을 사용하여 호출한 클라이언트에게 바이너리 문자열을 제공하고(Restful 방식으로 json 또는 text 방식으로 제공하였다. Spring messageConverters 를 사용함) 클라이언트는 전달받은 바이너리 문자열을 다시 파일로 만들어 사용할 수 있도록 제공했다..
2017.09.28