JAVA/Java: 149개의 글
[Java] 윈도우 cmd 명령어 실행 : Java로 실행파일 실행시키기 응용 1. Java에서 cmd 명령어 실행 Java의 Runtime 클래스를 이용하여 cmd 명령어를 실행할 수 있다. Runtime.getRuntime().exec("cmd /c " + "cmd명령어"); 2. cmd 실행 결과 받기 Runtime.exec() 로 명령어를 호출하면 그 결과가 Process 객체로 리턴받을 수 있다. 다음과 같이 Process 객체로부터 결과를 읽을 수 있다. Process로부터 InputStreamReader를 가져와 문자열을 읽는다. String cmd = "cmd 명령어"; Process p = Runtime.getRuntime().exec("cmd /c " + cmd); BufferedRea..
[Java] FTP 서버로 파일 전송(업로드) 방법 및 다계층 디렉토리 만들기 1. 의존성 주입 (pom.xml) commons-net commons-net 3.3 2. FTP 생성자 코드 import java.io.IOException; import java.io.InputStream; import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class FTPControl { private FTPClient ftpClient; public FTPControl() { this.ftpClient = new FTPClient(..
[Java] POI 암호걸린 EXCEL 풀고 데이터 읽어오기 - 의존성 추가 (Maven) 엑셀 복호화 기능은 POI 3.16 버전 이후로 사용가능하다. org.apache.poi poi 3.16 org.apache.poi poi-ooxml 3.16 org.apache.poi poi-ooxml-schemas 3.16 commons-codec commons-codec 1.11 1. Controller 여기서 colM 이나 password를 고정 값으로 넣었지만, 파라메터 데이터나 동적으로 설정가능하다 @RequestMapping(value="/uldExcel.do", method = RequestMethod.POST, consumes = "multipart/form-data", produces="text/..
[Java] POI Excel CellStyle 버전 업 후 Deprecated 된 속성 알아보기 POI 버전을 변경하면서 HSSFCellStyle 클래스에서 제공하던 것들이 Deprecated 된 것이 많았다. 관련해서 버전에 따라 어떻게 수정하면 되는 지 살펴보자. Deprecated 란, 곧 삭제될 메서드임을 알리는 어노테이션을 의미한다. 기존에 사용하던 버전 - 의존성 추가 ① Maven 인 경우 org.apache.poi poi 3.13-beta1 ② Gradle 인 경우 compile group: 'org.apache.poi', name: 'poi', version: '3.13-beta1' - Java Cell Style HSSFWorkbook wb = new HSSFWorkbook(); Ce..
[Java] 추상클래스와 인터페이스 차이 추상클래스 (abstract class) - 정의 : 한 개 이상의 추상메서드를 가지는 클래스 - 목적 : 추상메서드는 선언만되며 구현이 되지 않은 불완전한 메서드이므로 객체로 생성되지 않는다. 구분 일반 클래스와 추상 클래스의 차이 예시 일반 클래스 세부적이고, 구체적 고양이, 사자, 강아지 추상 클래스 추상적 고양이과, 개과 추상메서드 - 정의 : 내용이 없는 메서드, 구현(정의)는 하지 않고 선언만 한 메서드 - 목적 : 메서드의 내용이 너무 일반적인 내용이므로 부모 클래스에서 구체화하여 정의할 필요가 없을 경우, 추상메서드로 선언만하고 상속받은 자식 클래스에서 재정의하도록 할 때 사용 추상 클래스는 반드시 하나 이상의 추상메서드를 가지며, 객체를 생성할 수..
[Java] Spring Controller 파라미터 값 가져오기 (HttpServletRequest, @RequestParam, @RequestBody, @ModelAttribute) 일반적인 웹 프로젝트 구성에서 Controller 레벨에서 응답을 받고 비지니스 로직을 처리한 후에 다시 View 레벨로 넘어간다. 이 부분에서 파라미터를 어떻게 받고 어떻게 넘기는지에 대한 방법을 정리하고자 한다. HttpServletRequest.getParameter() 아래소스처럼 HttpServletRequest의 getParameter() 메서드를 이용하여 파라미터 값을 가져올 수 있다. 이때 parameter로 보낸 변수명과 getParameter("변수명") 에 들어갈 변수명이 일치해야한다. @Request..
[Java] SimpleCaptcha를 이용한 이미지 보안문자 생성하기 보안문자코드를 사용해야하는데, SimpleCaptcha를 주로 많이 사용하길래 한 번 써봤다. - 스펙 : 전자정부프레임워크 3.8, 자바1.8 1. SimpleCaptcha-1.2.1.jar 파일 다운로드 - 먼저 SimpleCaptcha 홈페이지에 들어가서 Java 버전에 맞는 버전을 다운받자. 참고로 SimpleCaptcha라이브러리를 이용한 CAPTCHA 샘플 프로그램은 JDK 1.6 기반이 가장 최신이라 SimpleCaptcha for Java 6을 다운받았다. 2. 다운로드받은 jar파일을 프로젝트에 추가해준다. 방법1. Spring MVC 프로젝트 구조의 WEB-INF의 lib에 위에서 다운받은 jar 파일을 추가해주었다..
[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기 - 의존성 추가 Spring Boot 경우 build.gradle에 Gradle dependency 추가 compile group: 'org.apache.poi', name: 'poi', version: '3.13' Spring 경우 pom.xml Maven dependency 추가 org.apache.poi poi 3.13-beta1 - Haenny 엑셀 다운로드 다음과 같은 두 개의 클래스로 엑셀 다운로드 로직을 구현하였다. 참고로 엑셀에 입력될 데이터는 EgovMap이 아닌 VO List 형태를 전제로 구현하였다. DownloadExcel.java import java.io.IOException; import java.net.URL..
[Java] 특정문자로 문자열 나누기 split 사용방법과 주의점 - 문자열 split("\\") 에러 "Unexpected internal error near index 1 \" 해결방법 먼저 split에 대해 살펴보자. java.lang.String.split() 문자열을 구분해서 사용하고 싶을 때 특정 구분자를 기준으로 나눠 배열에 담아 이용하는 방법이다. 문법 1. split(String regex) - 가장 일반적으로 사용하는 문법으로, 문자열을 구분할 때 사용하는 정규 표현식이 하나의 인수로 들어간다. 2. spilt(String regex, int limit) - 첫번째 인수는 위와 같고, 두번째 인수는 분류할 문자열의 수이다. (예를들어 분류할 문자가 5개인데 limit가 2이면 2개만 분..
[Java] StartsWith/EndWith : 문자열의 시작/끝 부분과 특정 문자열이 일치하는지 확인하기 String.StartsWith 메서드 - 문자열 인스턴스의 시작 부분과 지정한 문자열이 일치하는지를 확인한다. String str = "오늘은 날씨가 추워요, 따뜻하게 입어야해요"; String value1 = "오늘"; String value2 = "날씨"; boolean bool1 = str.StartsWith(value1);// true boolean bool2 = str.StartWith(value2);// false 매개변수(value) - String : 인스턴스의 시작 부분에 있는 부분 문자열과 비교할 문자열 반환 - Boolean : 인스턴스의 시작과 일치하면 true, 그러지 않..