목록LANGUAGE/JAVA (7)
밤톨코딩

어떠한 데이터에는 절대 변해서는 안 되는 경우가 있고, 한글이나 특수 문자들이 사용되서는 안 되는 경우가 있다. 가끔 엑셀(Excel)이나 CSV 파일로 읽어 들이는 과정에서 의도하지 않은 문자나 공백이 들어가는 경우가 생기는데, 이때 불필요한 문자는 지울 수 있도록 replaceAll 함수를 사용한다. replaceAll( String regex, String replacement ) 사용 예제 사용 예제에서는 회원번호는 영문 대소문자와 숫자만 들어가야하는 데이터라고 가정한다. 하지만 데이터를 읽어 들어오는 과정에서 다른 문자들이 포함되었을 때 이것을 제거하는 코드를 작성하였다. replaceAll에 들어가는 정규식은 a부터 z까지, A부터 Z까지, 0부터 9까지 아닌 문자가 있을 경우 "" 즉 아무것..

자바(Java)에서 문자열을 다룰 때, String index out of range 숫자와 같은 에러를 종종 확인할 수 있다. 발생하는 이유는 substring과 같은 함수로 문자열을 자를 때 잘라야 할 문자열이 정해진 값보다 작아서 발생할 때 생기는 에러이다. 그러므로 당황하지 말고 문자열의 크기만큼 조절해 주면 해결할 수 있다. 다음 예시는 "12345"라는 5자리의 문자열을 선언한 후, substring 함수를 사용하여 처음부터 6자리까지 자르도록 코드를 작성해 보았다. 그 후에 콘솔에 그 값을 출력할 수 있도록 한다. // 5자리 문자열 String str = "12345"; // 자른 문자열 담을 객체 String newStr = ""; // 문자열 자르기 try { // 6자리까지 잘라내기 ..

Java에서 JSON 데이터를 읽거나 만들 수 있도록 지원하는 라이브러리가 몇 가지 있는 있는데 오늘은 gson을 사용해서 공부하려고 한다. Depdendency com.google.code.gson gson 2.8.5 JsonObject 사용하기 먼저, JsonObject 객체를 선언한 뒤 addProperty 함수를 사용하여, 그 안에 넣을 필드와 값을 입력해 준다. Gson 객체를 생성하는 방법은 new Gson()과 new GsonBuilder.create() 이렇게 2 가지가 있는데, setPrettyPrinting를 추가해 주면 함수명에서도 알 수 있듯 콘솔에 예쁘게(?) 출력할 수 있도록 해준다. import com.google.gson.Gson; import com.google.gson.G..

Java에서 파일을 이동하는 방법과 이름을 변경하는 방법은 크게 다르지 않다는 것을 알았다. renameTo와 move 함수는 파일 이동과 파일 이름 변경이라는 결과는 같지만, 사용하는 과정에서 조금 다르다는 것을 알았다. renameTo(File file) 사용 파일은 따로 이동하지 않고, 같은 경로에서 파일 이름만 변경하는 코드를 작성해 보았다. 변경 전 파일명과 변경 후 파일 명, 파일 경로를 미리 선언해 두었다. // 파일 경로 String filePath = "C:\\test\\"; // 변경 전 파일명 String oldName = "old.txt"; // 변경 후 파일명 String newName = "new.txt"; // renameTo 사용 boolean result = useRenam..

문자열에서 특정하게 구분하는 문자를 지정하여, 문자열을 나눠야 할 때 split 함수를 사용한다. 여러 방면으로 쓸모가 있는 거 같아 정리한다. split ( String regex ) 먼저, 마침표(.)로 구분되어 있는 문자열을 선언한다. 그 후에 split 함수를 사용하여 마침표(.)로 구분하고 temp라는 배열로 받는다. 💡 [ ] 넣어주지 않으면 제대로 실행이 되지 않았다. // 문자열 대상 선언 String target = "첫번째.두번째.세번째.네번째"; // Null 또는 빈칸이 아닐 때 실행 if (target != null && !target.equals("")) { // . 으로 구분 String[] temp = target.split("[.]"); // 출력 for (int i=0; ..

간단하게 코드를 작성하고 싶을 때, 그때마다 프로젝트를 새로 생성해서 코드를 테스트를 해본다.하지만 Spring Boot 실행 시, DataSource 관련 에러가 발생하였다. @EnableAutoConfiguration 어노테이션을 붙여줘서 DataSource를 제외시켜줬다.@SpringBootApplication// 테스트를 위해 DB 연결 제외@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})public class SchedulerBatchTestApplication { public static void main(String[] args) { SpringApplication.run(SchedulerBatchTestAp..

문자열을 날짜 형식으로 DB에 넣어야 하는데 한국어로 '오전', '오후'가 포함되어 있으면 어떻게 해야 할까? // 변경해야하는 문자열 String target = "2017-07-25 오후 11:40:33"; 날짜 형식을 변경하고 싶을 때는 JAVA에서 지원하는 SimpleDateFormat을 이용하여 변경할 수 있다. // 첫번째 SimpleDateFormat 선언 SimpleDateFormat formatOne = new SimpleDateFormat("yyyy-MM-dd a KK:mm:ss", Locale.KOREA); 여기에서 지역 설정을 Locale.KOREA 넣어주지 않으면 에러가 발생하였다. (나의 경우에는 넣어줘야 에러가 발생하지 않았다...) 다음은 출력해 주는 코드를 입력해 주고 실행..