본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)85

Java excel poi 메모리 누수 대비(memory leak), 자바 xlsx만들기, Java xlsx 만들기 자바에서 poi라는 패키지는 엑셀을 만드는데 자주 사용되는 라이브러리이다. 그런데 요녀석을 사용하다보면 메모리를 너무많이 사용해서 문제가 되는 경우가 많다. 아래 코드를 보면 통상적으로 xlsx 파일을 만드는 모습이다. //생략.. XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet(); XSSFRow row = sheet.createRow(0); XSSFCell cell = row.createCell(1); cell.setCellValue("값"); File file = new File("D:/test.xlsx"); FileOutputStream fos = new FileOutputStream(file); .. 2019. 12. 19.
이클립스 프로젝트 실행 가능한 Jar파일 만들기 대상이 보이지 않을 때(export jar not showing) 이클립스에서 간단한 프로그램을 만든 뒤에 runnable jar로 해당 파일을 만들려고 하였다. maven환경이였으며 오라클 서버에 테스트용 데이터를 밀어넣는 기능이였다. 그런데 export를 클릭 한 뒤에 Runnable JAR file을 선택하고나서 보니까..해당 파일이 안보였다; 어...왜 안보이는거지? 라는 생각과 함께..프로젝트 클린, 이클립스 재시작, os 리부팅 등 여러 방법을 해 보았지만 나타나지 않았다. 그러다가..문뜩..해당 클래스를 단 한번도 실행하지 않는 게 생각나서 실행을 한번 한 뒤에..다시 export를 시도하여 보았다. 아..무조건 한번은 실행시켜야 나오는 것을 알게 되었다. export에서 Runnable jar를 선택 한 뒤에 해당 클래스가 보이지 않는다면 해당 클래스를 .. 2019. 12. 19.
Java 매우 쉬운 날짜 사용 (LocalDate, Java 1.8 date), Java 현재 날짜 Java에서 날짜와 관련된 기능을 사용하려면 Date 클래스, Calendar 클래스, SimpleDateFormat 클래스등 이러한 클래스를 사용해서 계산하였습니다. 물론 위 클래스들은 자바 1.8이 나오기 전 까지 날짜와 관련된 대표적인 클래스로 사용 되었습니다. 단점으로는 복잡(?)하고 코드가 매우 길어지는 점이 있지 않았나 싶습니다. 그러다 Java가 1.8 로 넘어오면서 날짜 관련된 기능이 매우 쉽게 사용 할 수 있도록 java.time 패키지에 다양한 클래스가 추가가 되었습니다. 그러면서 날짜 계산과 관련하여 복잡하게 만들던 기능을 쉽게 구현 가능하도록 지원 해 주고 있습니다. 이제부터 간략하게 대표적인 기능을 살펴보겠습니다. 1. 년월일시분초를 관리하는 LocalDateTime import .. 2019. 12. 16.
JAVA sftp 파일전송, 자바 sftp 파일전송 (JSch 파일전송) sftp를 활용하기 위해서는 JSCH 라이브러리가 필요하다. 라이브러리 버전은 자신에게 알맞는 버전을 받도록 하자. * maven 형태 com.jcraft jsch 0.1.55 * gradle 형태 // https://mvnrepository.com/artifact/com.jcraft/jsch compile group: 'com.jcraft', name: 'jsch', version: '0.1.55' 사용법은 어렵지 않다. 오히려 파일을 다운받는 기능이나 아니면 명령을 전달해서 결과를 받는 것이 더 복잡하다. 세션을 열어주고 세션 객체를 가져온다. import java.time.LocalDateTime; import com.jcraft.jsch.Channel; import com.jcraft.jsch.C.. 2019. 12. 13.
Java CSV 한글 깨짐, Java make csv file, 자바 CSV 파일 깨짐 일반적으로 csv파일을 만들 때 아래처럼 할 경우 한글이 여지없이 깨진다. String filePath = "저장할 파일경로/이름"; FileWriter fw = new FileWriter(filePath, true); fw.write("파일내용"); 편집기로 보면, 인코딩이나 기타 형식이 전부 올바르게 되었음에도 불구하고 말이다. 이를 대비하기위해서는 FileWriter를 사용하지말고 조금 번거로울지라도 여러개의 아웃풋스트림 객체를 사용하면 된다. BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("디렉토리/파일명"), "MS949")); bw.write(text); 물론 저렇게 코딩하면 안되지만.. 스트.. 2019. 11. 11.
리눅스 jar파일 업데이트(jar -uvf, jar update file) 1. 해당 자르파일이 있는 곳으로 이동 합니다. 2. jar -uf "자르명" 교체될 클래스의 위치 및 이름을 입력 합니다(띄어 쓰기에 유의해야 합니다) - 파일이 1개면 : jar -uf 파일이름.jar 경로/교체파일.확장자 - 파일+디렉토리로 되어 있다면 : jar -uf 파일이름.jar 경로/ : 여러개의 파일이 있는 경우 3. 여기서 교체할 파일은 jar의 교체할 위치랑 같아야 합니다. 1) 만약 Jar파일에서 com.test.Main.class를 교체한다고 하면, 2) 실제로 운영체제에서 com/test/ 디렉토리가 존재해야 하고 3) 해당 디렉토리 내부에 Main.class파일이 실제로 있어야 합니다. 4) 파일을 교체하려면 com디렉토리 만들고, com 내부로 이동해서 test 디렉토리 만들.. 2019. 10. 24.