Java/기본
-
[Java7] readAllLinesJava/기본 2017. 2. 9. 22:35
Java7의 try-with-resources를 사용하면 시스템 리소스 사용 후 해제를 일일히 안해줘도 된다고 했었다. 아래는 지난 글 [Java7] try-with-resources 예제 코드이다. 이제는 한발 더 나아가서 파일에서 한 줄씩 읽는 것이 아닌 한 번에 모든 문서를 읽는 방법이다. Java7에서 추가된 readAllLines라는 API이다. 다음과 같은 시그니쳐를 가지고 있다. 파일 경로와 인코딩 설정을 각각 Path와 Charset타입으로 인수에 넣으면 파일의 모든 라인을 읽어와 List로 저장한다. 아래는 readAllLines를 활용하여 위의 코드와 같은 기능을 하는 메소드이다. 출처: Oracle java doc
-
[Java8] String.joinJava/기본 2017. 1. 21. 11:15
반복되는 구분자들을 이어 붙이는 작업들을 어떻게 하면 좋을까? "생년_이름_휴대폰끝자리" 형태처럼 _(언더바) 기호로 여러 항목들을 붙여서 키를 구성한다거나 할 경우가 있을 것이다. 기본적으로 세가지 방법이 있을 것이다. 1) 일일이 "_" 구분자를 붙여준다. 2) for 루프를 사용하여 붙여준다. 그리고 3) Java8의 String.join기능을 사용한다. String.join 메소드의 첫번째 인자에는 구분자, 두번째 인자에는 어레이나 컬렉션 형태의 문자열들을 넣는다. 자세한 내용은 아래 코드 참고 (3개의 테스트 모두 같은 결과, 초록색 막대기를 보여줄 것이다)
-
[Java7] try-with-resourcesJava/기본 2016. 7. 21. 21:55
스프링부트 책을 보다가 알게된 기능이다. 이런게 있는지 왜 이제야 알게된걸까 ㅋㅋ... BufferedReader나 JDBC 등을 미리 선언 후 try에서 자원을 할당하고 finally로 null 이 아니면 닫아주는 형식의 코드를 작성하였다. 코드도 길뿐 아니라 깔끔해보이지 않고 무의식적으로 적는 부분이다. 하지만 try-with-resources를 사용하면 try에 바로 자원 할당 후 try가 끝나면 알아서 자원해제. 참고로 catch에 들어가기 전에 이미 다 close를 한다고 한다. 이런 코드가 이렇게 변한다. (출처: http://stackoverflow.com/questions/17650970/am-i-using-the-java-7-try-with-resources-correctly)