목록java/java 수업 기록 (27)
버글버글
▶ 스레드 (Thread) 1. 세부 실행 단위 2. 자바 실행의 기본 단위(여태까지 사용했던 스레드는, main 스레드 이다) 3. main 스레드 이외의 스레드 추가 가능 * 스레드 생성 1. Thread 클래스 상속 2. Runnable 인터페이스 구현 * Thread 클래스 상속 1. extends Thread 2. Thread 클래스의 public void run() 메소드를 오버라이드해서 수행할 작업 (오버라이드를 하는 이유는, 약속이기 때문이다.) * 스레드 실행 1. start() 메소드를 호출 2. start() 메소드를 호출하면 run() 메소드에 오버라이드 한 내용이 실행 ** run() 메소드를 만들었지만, run()메소드가 아니라 start()메소드를 호출해야 함** 예시) 클래스..
▶ URL 1. Uniform Resource Locator (정형화, 형태가 정해져 있다.) 2. 정형화된 자원의 경로 3. 웹 주소를 의미 * java.net.URL; 4. 구성 예시) https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EB%82%A0%EC%94%A8 http:// 프로토콜:// search.naver.com 호스트 search.naver 서버경로 ?where=nexearch&sm=top_hty&fbm ?파라미터=값&파라미터=값 (=변수) 1) https secure http, 하이퍼텍스트 전송 프로토콜(통신규약) 2) 호스트 서버주소 3) 서버경로 URL Mapping 4) 파라미터..
▶ IO ▶ InputStream 1. 바이트 입력 스트림 2. 입력 데이터 단위 1) 1개 : int 2) 여러 개 : byte[] 3. 모든 정보를 StringBuilder에 저장한 뒤 확인 * int read(byte[] b) 읽은 내용은 byte배열 b에 저장 읽은 바이트 수를 반환 읽은 내용이 없으면 -1 반환 예시) 아래 예시는 문자가 깨치게 출력 됨. import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Main { public static void m1() { File file = new File("c:\\storage", "b1.bin"); FileInputStream fis..
▶ IO ▶ OutputStream 1. 바이트 출력 스트림 2. 1개 : int 3. 여러 개 : byte 예시) File file = new File("c:\\storage", "b1.bin"); FileOutputStream fos = null; try { fos = new FileOutputStream(file); int c = 'A'; String str = "pple Mango 맛있다."; byte[] b = str.getBytes(StandardCharsets.UTF_8); fos.write(c); fos.write(b); } catch (IOException e) { e.printStackTrace(); } finally { try { if(fos != null) fos.close(); }..
▶ IO ▶ Reader ▶ FileReader class 1. file 객체에 등록된 파일이 없으면 FileNotFoundException 발생 (FileNotFoundException은 IOException이 부모이다. 그래서 IOException을 사용해도 무방하다.) * java.io.FileReader * 생성 FileReader fr = new FileReader(""); Exception을 안했기 때문에 위와 같이 하면 오류가 발생한다. Reader와 Writer는 Exception을 해줘야 한다. * 입력 데이터 1. 1글자 : int 2. 여러 글자 : char[] (배열임. 주의할 것) * read() 메소드 1. 읽은 문자를 반환 2. 모두 읽어서 읽은 문자가 없으면 -1 반환 예시)..
▶ IO ▶ writer 1. 파일과 연결되는 문자 출력 스트림 생성 2. 출력 스트림이 생성되면 파일도 새로 생성됨 3. 출력할 데이터 1) 1글자 : int 2) 여러 글자 : char[], String 생성예시) File dir = new File("C:\\storage"); if(dir.exists() == false) { dir.mkdirs(); } File file = new File(dir, "m1.txt"); FileWriter fw = null; try { fw = new FileWriter(file); // new FileWriter("C:\\storage\\m1.txt")와 같음 } catch (IOException e) { e.printStackTrace(); } finally { ..
▶ IO ▶ File 1. 패키지 : java.io 2. 파일 및 디렉터리 관리 생성 방법 1) new File(경로, 파일) 2) new File(파일) 3. 윈도우의 경로 구분 방법 : 백슬래시 (\) 4. 리눅스의 경로 구분 방법 : 슬래시(/) java.io.file *폴더(디렉터리) 만들기(예시) File dir = new File("C:", storage"); // 존재하지 않으면 만들겠다. if(dir.exists() == false) {// 동일한 역할 if(!dir.exists()) dir.mkdirs(); } // 존재하면 삭제하겠다. else { dir.delete();// 지금 지운다. dir.deleteOnExit(); // JVM이 종료되면 지운다. } - 명령어를 실행 할 때마..
▶ Iterator(반복자) 인터페이스 1. 특징 컬렉션(interface Collection)에 등록해서 사용 2. 순회할 때 사용(for문 대용) 3. 주요 메소드 1) hasNext() : 남아 있는 요소가 있으면 true 반환, 없으면 (false) 2) next() : 요소를 하나 반환 4. 주로 Set에서 사용 (list는 for문 사용) Set set = new HashSet(); set.add("제육"); set.add("닭갈비"); set.add("돈까스"); set.add("김치찌개"); // set를 조회할 반복자 itr Iterator itr = set.iterator(); // haseNext() : 남아 있는 요소가 있으면 // next() : 그 요소를 꺼냄 while(itr...