
스트림(Stream)은 '작은 하천' 혹은 '시냇물'이라는 뜻의 단어이고 프로그래밍 언어에서는 주로 어떤 데이터의 흐름을 말한다. (데이터를 담고 있는 저장소(컬렉션) x) java.io의 Stream이 아니라, java8에 나온 java.util의 Stream API를 말한다. 스트림 API의 주된 목적은 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하고 처리할 수 있도록 하는 것이다. 스트림 특징 스트림은 불변 객체다. Stream 객체의 메서드 호출 결과로 리턴 받은 Stream 객체는 새로 생성한 데이터다. 불변인 이유는 Stream은 중간 연산 작업과 함께 병렬 처리가 가능하기 때문에 데이터 정합성을 확보하기 위해서다. 중간 연산(Intermediate operation..
test 디렉토리 안에 여러 파일들이 있다. 이 중 파일명이 JPG로 끝나는 파일들만 추출하고 싶다면, FileNameFilter 인터페이스를 구현해서 쉽게 찾을 수 있다. D ㄴtest ㄴamericano.JPG ㄴcafelatte.JPG ㄴFile.md ㄴlayout.html ㄴtest.txt public class FileExample2 { public static void main(String[] args) throws Exception { File f = new File("D:\\test\\"); File[] fileList = f.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { re..
java.io.File 메서드 설명 boolean canRead() 읽을 수 있는 파일인지 검사한다. boolean canWrite() 쓸 수 있는 파일인지 검사한다 boolean canExecute() 실행할 수 있는 파일인지 검사한다 int compareTo(File pathName) 지정한 파일(pathname)과 비교한다 boolean exist() 파일이 존재하는지 검사한다. boolean isAbsolute() 파일 또는 디렉토리가 절대경로명으로 지정되었는지 확인한다 boolean isDirectory() 디렉토리인지 확인한다 boolean isFile() 파일인지 확인한다. boolean createNewFile() 아무런 내용이 없는 새로운 파일을 생성한다. (단, 이미 생성하려는 파일이 ..
getPath() : 파일의 경로(path)를 반환한다. getAbsolutePath() : 파일의 절대경로를 반환한다. getCanonicalPath() : 파일의 정규경로를 반환한다. 파일의 '경로', '절대경로', '정규경로'... 분명히 한글인데... 무슨 차이인지 이해가 되지 않았다. 절대경로는 알아도 정규경로(canonical path)는 처음 들어봤다. 경로를 변경하면서 세 메서드의 차이를 알아보자. 1. 경로명 -> 절대경로 public class FileExample { public static void main(String[] args) throws Exception { File f = new File("C:\\Spring\\java-pract..
Optional 기초 : NPE에서 벗어나보자. 들어가며 WAS log에서 NullPointerException을 발견했던 과거 발생 시점을 추적하기가 어려웠다. 스택 트레이스 보는데도 모르겠음. 메서드를 짜는데 객체가 없을 경우 null을 리턴 x 100(반복) null 체크를 계속 해야 하는 불편. 코드가 거슬린다. (if 널 존재여부...) 까먹었을까봐 불안하다. 그러던 중 스프링 강의에서 객체를 Optional로 감싸 NPE를 막는 걸 발견 => 배워야겠다. Optional은 람다, 스트림을 알아야 더 사용하기 좋지만...아직 사용하지 못한다. 그저 Optional만 알았을 뿐. 때문에 람다와 스트림을 몰라도 써먹을 수 있는 Optional의 기초만 정리해보도록 한다. Optional Option..
- Total
- Today
- Yesterday
- utf8mb3
- hibernate 쿼리 로그
- 4Way Handshake
- mysql 이모지
- csv 라이브러리
- mysql 온라인 ddl
- tcp커넥션
- spring boot3 쿼리 로그
- 도메인구성요소
- read timeout
- 코프링
- csv to bean
- 이모지입력오류
- 쿼리 파라미터 바인딩
- AOP
- file
- CGLIB프록시
- spring retry
- http커넥션
- github actions 기초
- 엔티티와값객체
- opencsv
- 콜레이션
- github actions 구성요소
- TCP연결
- online ddl
- jpa 쿼리 로그
- 콜레이션변경
- github actions components
- 문자집합변경
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |