본문 바로가기

Programming Practice/Java

Properties 를 Text로 관리 1. config.properties 작성- key=value- value 가 String 이라도, 앞뒤로 ""를 붙이지 않는다. notepad=notepad.exe file=F:/development/bat/jarTestText.txt 2. ConfigUtil.java 작성 package util; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; public class ConfigUtil { private static Properties props = null; static { try { props = new Properties(); InputStream is = null; is = Cla.. 더보기
parameter로 객체 정보를 받아서 객체 생성 Class 객체 선언 및 Class 객체로부터 실제 Class 객체 생성 1) class 자체 사용 Class 더보기
FileFilter 1. 목적 파일 목록을 가져올 때, 파일 유형에 제한 걸기 (java 에서는 file 와 directory를 모두 같은 file로 생각한다.) ex. 특정 directory 내에서 directory 가 아닌 file 만 가져오기 / 특정 directory 내에서 file 이 아닌 directory 만 가져오기 2. 사용 예 File dir = new File("F:/books"); File[] files = dir.listFiles( new FileFilter() { @Override public boolean accept(File pathname) { return pathname.isFile(); //file 만 가져오기 //return pathname.isDirectory(); //directory .. 더보기
multi thread 1. multi thread 란?1) 하나의 processor 가 여러개의 task를 함께 수행하는 것. 엄밀히 말해 동시에 수행하는 것은 아니다.2) 여러개의 task에 대해 개별로 thread를 만들고, start를 시켜 수행한다.3) thread가 생길 때마다 call stack이 따로 생기며, process 는 JVM 의 thread scheduler 의 결정에 따라 stack 들 사이를 옮겨다니며(move back and forth between stacks), task들을 함께 수행한다. (thread 실행 상태를 사용자가 설정할 수 없음) 2. thread 사용 방법1) thread 실행 code를 담을 class 작성- Runnable 이라는 interface 를 implement 해야 한.. 더보기
자바 로직 성능 측정 자바 로직의 성능 측정은 해당 로직의 수행 시간을 계산하면 된다.아래와 같이 해서 프린트되는 시간이 총 수행시간이다. 1. 시작 : long startTime = System.currentTimeMillis(); 2. 종료 : long endTime = System.currentTimeMillis();long elapsedTime = endTime - startTime;System.out.println("Total elapsed time = " + elapsedTime); 더보기
Data Collection sort 1. 언제 필요한가?: 기본적으로 Data Collection에 담을 데이터를 가져올 때 sort를 해서 가져올 수 있다면, Data Collection 에서 sort를 할 필요가 없다. 예를 들어 DB 에서 조회한 데이터를 Data Collection에 담을 때는 DB를 조회하는 쿼리 내에서 order by를 통해 sort를 하기 때문에 java 에서 sort를 해서 담을 필요가 없다. 그러나 특정 디렉토리 내 파일들의 정보를 가져오는 경우와 같이 데이터를 가져올 때 sort를 해서 가져올 수 없다면 Data Collection 의 sort 기능을 활용해야 한다. : 특정 디렉토리 내 파일들을 마지막으로 변경된 날짜 순으로 파일 정보를 보여주고 싶을 때 Data Collection 에서 sort를 해야.. 더보기
특정 폴더의 파일 목록 가져오기 만들어해야 하는 문서 목록이 있다고 하자. 보통 회사에서는 이것을 여러명이 나눠 작성을 한다. 또한 누군가는 모은 후 만들어야 하는 문서가 모두 만들어졌는지 체크를 해야 한다. 이때! 모여진 폴더 내 문서들의 파일명들을 한꺼번에 텍스트 형태로 가져올 수 있다면, ‘작성된 파일목록’과 ‘작성해야 하는 파일목록’을 엑셀의 match 나 vlookup 기능을 이용해 쉽게 비교할 수 있다. 아래는 특정 폴더의 파일 목록 가져오는 코드이다. eclipse 에서 실행하면, console 창에 파일 목록이 나온다. import java.io.File; public class ListFileInDirectory { public static void main(String args[]) { //특정 directory를 F.. 더보기
FileWriter 로 만든 UTF-8 파일을 Excel 에서 열었을 때 한글이 깨지는 문제 해결 특정 파일을 UTF-8 형식으로 작성하기 위해서는 크게 2가지를 해야 한다. 1) encoding 방식을 UTF-8 로 설정 * BufferedWriter writer = new BufferedWriter(new FileWriter(file)); 로 했을 때 기본적으로 UTF-8 로 설정된다. 2) BOM(Byte Order Mark) 을 파일 내 추가 * BOM : 파일 내에서 해당 파일 인코딩 형식을 명시 * UTF 계열의 BOM 인코딩 BOM UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 실제 Java 에서 파일을 작.. 더보기
java 파일 읽기 한글 깨짐 방지 BufferedReader 객체를 만들때 아래와 같이 만든다. String filepath = "D:/work/a.txt"; BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filepath ),"euc-kr")); 더보기