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

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

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


전체 글674

파일 복사하기, Blob데이터를 파일로 만들기 종종 파일을 이동 하거나 이름을 바꾸는 경우는 있어도 파일을 복사하는 경우는 별로 없었던 것 같다. 아래 소스코드는 jdk 1.4부터 사용가능한 파일 복사용 메소드이다. 간혹 이런거 만들기 귀찮을 때 공통 util용 클래스 만들고 가져다 쓰면 편하다. //파일카피, 첫번째는 원본파일, 두번째는 대상 public static void copyFileUsingChannel(File source, File dest) throws IOException { FileChannel sourceChannel = null; FileChannel destChannel = null; FileInputStream fs = null; FileOutputStream fo = null; try { fs = new FileInput.. 2019. 4. 25.
Java로 File 만든 날짜 보기 자바에서 파일이 수정된 일자는 File 클래스를 통해서 쉽게 가져 올 수 있다. 그런데 파일이 만들어진 일자는, File 클래스에서 제공하지 않는다. JDK 1.7부터 BasicFileAttributes라는 클래스를 제공하여주는데 해당클래스를 활용하면 쉽게 가져 올 수 있다. 물론 1.7부터 지원하니 그 이하 버전에서는 Class not found 될 것이다. File file = new File("E:/test.txt"); BasicFileAttributes attrs = null; try { attrs = Files.readAttributes(file.toPath(),BasicFileAttributes.class); String date = attrs.creationTime().toString(); .. 2019. 4. 25.
Spring 비동기 응답(Spring async, Spring EnableAsync) ajax나 form테그에서의 submit등을 통하여 어떠한 요청을 한 뒤에 바로 응답을 요구하는 경우가 있었습니다.(결과에 상관없이) 이럴 때 간단하게 해결하는 방법은, 요청 받는 메소드 내부에 thread를 만들어서 비지니스 로직은 따로 수행하게 하고 응답은 바로 되돌려주면 가능 합니다. @Controller public class ZController { @RequestMapping(value = "/요청", method = RequestMethod.POST) @ResponseBody public String test(@RequestParam HashMap param) { new Thread(()-> { //서비스 클래스에서 비지니스로직을 수행 }).start(); return "SUCC"; } } .. 2019. 4. 25.
jsch 사용법(ssh 연결) 자바에서 ssh를 활용해서 다른 서버로 접속하여 명령어를 실행해야 되는 경우가 있었다. 이럴때는 jsch를 활용하면 쉽게 사용이 가능하다. Jsch를 활용한 개념은 3단계로 이루어 진다. 1. Jsch 클래스를 생성한다. 2. ssh를 통해서 연결한다. 3. 원하는 행위를 연결한 서버로 전송한다. 간단하게 먼저 연결하는 예제를 살펴보자. import java.io.InputStream; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; import com.jc.. 2019. 4. 25.
자바 함수형 프로그래밍 자바스크립트에서의 함수형, Swift에서의 클로저 형태의 함수형 프로그래밍이 자바8.0에서 람다의 등장으로 인해서 가능하게 되었다. 인터페이스를 좀더 다양한 형태로 사용할 수 있게 해주는게 장점인 것 같다. 첫번째 예제코드는 함수형 인터페이스를 만드는 부분이다. 함수형을 구현할 구현부를 선언하는데...구현부로 쓸 추상메소드는 1개밖에 쓸 수 없다는 점이다. 지금 예제코드는 단순하게 String을 리턴하는 부분으로 작성되어 있으며, 기본메소드를 만들어서 해당 구현한 값이 잘 들어오는지 확인하였다. @FunctionalInterface //함수형 선언 public interface Test { public abstract String run(); //구현부 default void showMeResult(){.. 2019. 4. 25.
Java에서 배열형태 문자를 배열로 만들기 간간히 사용하는 관계로.. 여기다 적어둔다. 가령 아래처럼 이런 데이터가들어오면.. String tester = "[\"aaaaa\",\"bbbbbbbb\",\"ccccccc\"]"; 파싱하는 라이브러리 쓰기도 좀 애매하고...그렇다고 지저분하게 코드치기도 애매해서.. 아래 만들어진 메소드를 유틸처럼 사용하면 편하다. public static String[] StringParseToArray(String arg) { String[] res = null; if (arg == null || arg.trim().length() == 0) { return null; } if (arg.contains(",")) { res = arg.substring(0, arg.length() - 1) .substring(1, .. 2019. 4. 25.