본문 바로가기

Java13

[Java] 이클립스/자바 콘솔창에 \r(캐리지 리턴) 이스케이프 문자 적용해서 애니메이션 만들기 프로젝트에서 데이터들을 읽어와서 그룹핑 처리를 할 때 한 줄 씩 다 찍으면서 진행률 확인하면 콘솔창이 터지니까~~학원 때 봤었던 애니메이션을 써보려고 했는데아니 이클립스 콘솔창에서는 \r 이게 안먹히는겨?!? 원래는 이스케이프(캐리지 리턴)으로 현재 줄의 맨 앞으로 커서가 이동해야 하는디그냥 개행되버러야??(\n랑 똑같이..)구글링 해도 별 소득이 없구... 그냥 혼자 이클립스 설정 뒤지다가 먼가를 발견 야호저거 체크 해주면 된당.떠억 하니 캐리지 리턴 설정해준다고 써있다 ㅋㅋㅋ 테스트 코드.protected void test() throws InterruptedException { char[] animationChars = new char[] {'-', '\\', '|', '/'}; in.. 2024. 10. 25.
[Java] 자바 1.8버전 현재날짜, 시간 구하기 | Date vs Calendar 비교 오랜만에 쓰려니까 까묵까묵해서 정리. 자바 1.8버전 이전 java.util.Date java.util.Calendar 자바 1.8버전 이후 java.time.LocalDate java.time.LocalTime java.time.LocalDateTime java.util.Date import java.util.Date; Date now = new Date(); System.out.prinltn(now);// Thu Jan 22 시:분:초 KST 2023 // 포맷팅 정의 SimpleDateFormat formatter = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 mm분 ss초"); // 포맷팅 적용 String formatedNow = formatter.format(now.. 2024. 1. 22.
[Selenium/Java] java.io.IOException : Server returned http response code: 403 for url 에러 첨부파일 형식이 아닌 일반 이미지를 다운받아야 해서 아래와 같은 함수를 만들었다. 이미지주소, 다운받을 경로, 이미지파일 이름을 매개변수로 넘겨주고 최종 저장된 이미지 파일(확장자포함)를 반환하는 함수이다. protected String downloadImage(String imgUrl, String downDir, String name) { try { URL url = new URL(imgUrl); URLConnection uc = url.openConnection(); InputStream is = new BufferedInputStream(uc.getInputStream()); FileOutputStream fos = new FileOutputStream(downDir+File.separator+n.. 2024. 1. 16.
[Selenium/Java] 에러org.openqa.selenium.ElementNotInteractableException: element not interactable | click(), sendKeys(), executeScript() org.openqa.selenium.ElementNotInteractableException: element not interactable 존재하는 요소이지만 클릭이 안되는 경우 나타나는 에러이다. webElement = driver.findElement(By.cssSelector("#searchBtn > img")); // 기존코드 //webElement.click(); // 방법 1. //webElement.sendKeys(Keys.ENTER); // 방법 2. -> 해결 JavascriptExecutor jsx = (JavascriptExecutor) driver; jsx.executeScript("arguments[0].click;", webElement); 가장 흔하게 보이는 해결 방법은 cli.. 2023. 12. 12.
[Selenium] 에러 org.openqa.selenium.ElementClickInterceptedException (is not clickable at point. Other element would receive the click) webElement.driver.findElement(By.id("searchBtn")); webElement.click(); org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element ... is not clickable at point (1309, 322). Other element would receive the click: ... 상황: 조회btn(searchBtn)을 click()하지 못하는 에러 element는 찾은 상태이지만 searchBtn으로 focus가 가지 못하는 경우 발생하는 에러이다. 왜냐하면 조회버튼을 눌러야 하는데 datepicker가 닫히지 않은 상태로 진행되어서 조회 버튼에 .. 2023. 12. 11.
[Java] Reflection Reflection 구체적인 Class의 type을 모르더라도 해당 클래스의 정보(변수, 타입, 함수)에 접근하도록 하는 자바 API. 즉, 동적으로 Class의 정보를 바인딩(추출)하는 것이다. 사용 이유: 여러 곳에서 데이터를 크롤링하여 각자의 클래스 생성 → 각 클래스의 타입이 다르다. → 그러면 클래스마다 각 sql문을 생성하기 보단(비효율) 어떠한 타입의 클래스라도 처리할 수 있도록 하기 위해서 Reflection 사용. 스프링 어노테이션의 근간이 된다. 2023. 12. 6.
[Java/Algorithm] 백준 10871번: X보다 작은 수 for문과 if문으로 간단히 풀 수 있는 문제이다. 배열 카테고리라서 배열을 사용하도록 유도된 것 같지만 배열을 사용할 수도 있고 사용하지 않을 수도 있다. 아래에 성능 비교도 있다. 1. 배열 사용 + StringBuilder import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); StringB.. 2023. 11. 12.
[Java/Algorithm] 백준-10951 EOF 사용하기 + 성능비교 EOF 란? End of File, 더이상 데이터가 존재하지 않을 경우 반복문을 종료하는 것. ctrl + Z(윈도우) ctrl + D(리눅스) 로 종료 3가지 방법이 있다. 1. BufferedReader + StringTokenizer 2. BufferedReader + String.charAt() 3 .Scanner 1. BufferedReader + StringTokenizer import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputS.. 2023. 11. 11.
[Java/Algorithm] Java11에 추가된 String 메소드 repeat()로 코드 단축하기 여느때 처럼 별찍기 문제를 다중 for문으로 해결하여 제출을 했는데, 상위권 제출자들의 소스코드를 보니 repeat()메소드를 사용하여 한 번의 for문으로 해결하고 있었다! Repeat Java11에 추가된 String 메소드 repeat String 문자열을 주어진 파라미터의 횟수만큼 반복한다. 파라미터를 0으로 지정하면 빈 문자열을 반환한다. 파라미터를 음수로 지정하면 IllegalArgumentExceptionthrow 에러를 반환한다. 파라미터를 1로 지정하면 문자열을 그대로 반환한다. 내부적으로 Arrays.fill()과 System.arraycopy()메소드를 호출하여 새 문자열을 만든다. https://www.javastring.net/java/string/java-string-repeat.. 2023. 11. 10.