본문 바로가기

Language/JAVA

(70)
java 현재 디렉토리(dir)에 어떤 파일, 디렉토리가 있나 보기 public void listFilesForFolder(final File folder) { for (final File fileEntry : folder.listFiles()) { System.out.println(fileEntry.getName()); } } final File folder = new File("./"); listFilesForFolder(folder); 요즘은 서버 앱을 클라우드에 많이 띄우기 때문에 credential같은 것을 파일로 넣어주어야 할 경우가 종종 있습니다. 현재 인스턴스가 어디를 바라보고 있는지를 알아보기 위해 이 명령어가 필요합니다. 이 코드를 넣고 배포하고 돌려보면 알 수 있습니다. Class에 넣으면 아래와 같이 바로 실행할 수 있습니다. public class..
Java Static이란? 사용 방법 내가 사용한 곳 개요 Static은 스테틱 변수 메소드 앞에 붙일 수 있다. static을 쓰면 jvm이 실행될 때 한번 불러옵니다. 내가 이걸 왜 쓰냐면 aws 람다를 쓰는데 여기에서 파일을 불러와서 무언가 설정을 하고싶기 때문에 사용을 했습니다. 이 설정은 자주 바뀌는 것은 아니지만 호출은 자주 됩니다. java의 constants 변수 처럼 쓰고 싶지만 파일을 변경해서 설정을 적용하고 싶기 때문입니다. 나중에 이 부분을 redis 등 cache와 연동하고 싶기 때문에 중간 단계를 만드는 작업입니다. 프로젝트 구조는 위와 같이 src/main/java, src/main/resources 이렇게 되어있고 resources에 hello.properties가 들어있습니다. hello.properties name = kye..
Java(Spring)로 Shell Script실행 하기 Java(Spring)로 Shell Script실행 하기백엔드를 하다보면 shell script를 쓸 일이 자연스럽게 많이 생깁니다.제가 만든 프로그램을 배포할려면 서버 구성부터 띄우고 올리고 내리고 재부팅하고 등등 이걸 다 손으로 하자니 손이 너무 많이 가는데 나름 루틴한 작업들이 많습니다.손으로 하는 작업을 반자동화라도 하기 위해 shell script를 쓰는데 쉘 스크립트를 실행 하려면 ssh로 들어가서 커맨드를 입력 해주어야 합니다.하지만 ssh접속하고 로그인 하는 것도 일이기 때문에 api를 뚫어놓고 호출하는 방식으로 해결하고 싶다는 생각이 들었습니다.자바에 찾아봤더니 해당 기능이 있었습니다. ProcessBuilder를 이용합니다. ShRunner.javapublic class ShRunner..
시고저종 데이터 만들기 List -> Map -> List public List toMap(List selectedOhlcvs) { // 특정 field를 기준으로 select된 애가 온다. Map map = new HashMap(); // 넣을때는 특정 field를 넣어야 한다. selectedOhlcvs.forEach(ohlcv1 ->{ map.put(ohlcv1.getTimeToMins(), new ArrayList()); map.get(ohlcv1.getTimeToMins()).add(ohlcv1); }); map.forEach((key, value) ->{ System.out.println(key); }); return new ArrayList(); }
Java로 http request보내서 string 받기 with okhttp Java로 http request보내서 string 받기 with okhttp okhttp site 문서 http://square.github.io/okhttp/ 사용방법 관련 블로그 포스트 https://www.codexpedia.com/android/okhttp-3-example-in-android/ Maven Dependency는 아래와 같이 추가 합니다. com.squareup.okhttp3 okhttp 4.9.2 아래 코드는 google.com에 http request를 보내는 코드 입니다. import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public cl..
rxjava - return은 Flowable이 끝나고 될까? rxjava - return은 Flowable이 끝나고 될까? 1234567891011121314public class ReturnExam { public String run() { System.out.println("----before start----"); Flowable.range(1, 100000) .subscribe(item -> System.out.println(item)); return "------return------"; } public static void main(String[] args) { String result = new ReturnExam().run(); System.out.println(result); }}Colored by Color Scriptercs결과---before..
RxJava에 대해 알아보자 - 제4편 Error는 언제 나는지? 에러나면 어떻게 되는지? RxJava에 대해 알아보자 - 제4편 Error는 언제 나는지? 에러나면 어떻게 되는지? 12345678910111213141516171819public class DoOnError { public void run6() { Flowable.fromIterable(Arrays.asList(1, 2, 0, 1)) .doOnComplete(() -> System.out.println("completed 6")) .map(item -> { return 10 / item; }) .doOnNext(item -> System.out.println("---next6---")) .doOnError(throwable -> System.out.println("---error6---")) .subscribe(item2-> ..
Java Stack 예제 개요 스택은 LIFO형의 자료구조 입니다. 나중에 들어간게 먼저 나오는 티슈같은 형태 입니다. 자바는 스택을 따로 구현하지 않아도 스택을 구현 해놓은 클래스가 있습니다. 사용법을 알아보겠습니다. import java.util.Stack; public class StackTest { public static void main(String[] args) { Stack st = new Stack(); st.push("14"); st.push("+"); System.out.println(st.peek()); System.out.println(st); System.out.println(st.pop()); System.out.println(st); } } 결과 + [14, +] + [14] .peek()을 하면 가..