고급자바
-
properties파일 ,ResourceBundle객체-22.04.12고급자바 2022. 4. 12. 12:52
properties란? Key=Value형식으로 파라미터 정보들을 저장하기 위한 파일 확장자를 의미합니다. 주로 응용 프로그램에 대한 환경설정정보, DB와 연결하기 위한 DB환경설정정보 등을 저장할 때 properties파일을 만들어 그 곳에 저장해놓습니다. 주석처리를 하고 싶은 경우 맨 앞에 "#", "!"을 붙여 주석처리를 합니다. 하드코딩을 피하고 중요한 키나 패스워드는 코드에 직접 입력하지 않고 외부 파일에서 읽어 사용합니다. 그럴때 보통 Properties 파일을 많이 사용합니다. 특징 key value는 문자열만 가능하다 src : 소스폴더를 말함 리소스(줄여서 res)라는 파일을 새로 소스폴더를 만들어줌 res를 만들어주는 이유는 자바소스가 아닌것들을 따로 분리해서 관리하고 싶어서 한것임 소..
-
JDBC(Java Database Connectivity)-22.04.11고급자바 2022. 4. 11. 13:37
드라이버를 통해서....접근 ① Connection ② Statement ③ PreparedStatment ④ ResultSet -결과값을 받아오기 위해 =>이 4가지 인터페이스 기반으로 하는것이 바로 JDBC이다!!!!! 먼저 DB에 테이블 생성! D:\C_Lib\ibatis 경로에 접속 복사해서 사용할 프로젝트에 넣어주기 Build Path에도 추가를 해준다. Add JARs...를 눌러서 ojdbc6.jar를 추가해준다. =>잘 가져온것을 알 수 있다. 2번은 JDBC를 로딩하고 Connection하는것인데 앞으로 자주 사용해야하므로 따로 만들어주었다. package kr.or.ddit.util; import java.sql.Statement; import java.sql.Connection; im..
-
직렬화2-22.04.11고급자바 2022. 4. 11. 11:00
부모 클래스가 Serializable 인터페이스를 구현하고 있지 않을 경우 부모객체의 필드값 처리 방법 1. 부모 클래스가 Serializable 인터페이스를 구현하도록 해야 한다. 2. 자식클래스에 writerObject()와 readObject()를 이용하여 부모객체의 필드값을 처리할 수 있도록 직접 구현한다. import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Output..
-
직렬화,역직렬화-22.04.01고급자바 2022. 4. 1. 17:24
객체 입출력 보조 스트림 예제(직렬화와 역직렬화) transient => 직렬화가 되지 않을 멤버변수에 지정한다. (* static 필드도 직렬화가 되지 않는다.) 직렬화가 되지 않는 멤버변수는 기본값으로 저장된다. (참조형 변수: null, 숫자형 변수:0) public class T15_ObjectStreamTest { public static void main(String[] args) { // Member 인스턴스 생성 Member mem1=new Member("홍길동", 20, "대전"); Member mem2=new Member("일지매", 30, "경기"); Member mem3=new Member("이몽룡", 40, "강원"); Member mem4=new Member("성춘향", 20, ..
-
기본타입 입출력 보조 스트림-22.04.01고급자바 2022. 4. 1. 16:33
기본타입 입출력 보조 스트림 예제 public class T13_DataIOStreamTest { public static void main(String[] args) { FileOutputStream fos=null; //출력용 데이터를 자료형에 맞게 출력해 준다. DataOutputStream dos=null; try { fos= new FileOutputStream("d:/D_Other/test.dat"); //기본 dos=new DataOutputStream(fos); dos.writeUTF("홍길동"); //문자열 데이터 출력(UTF-8) dos.writeInt(17); //정수형으로 데이터 출력 dos.writeFloat(3.14f); //실수형(Float)으로 데이터 출력 dos.writeD..
-
성능향상을 위한 보조 스트림-22.04.01고급자바 2022. 4. 1. 15:31
폴더를 만들거나 내용을 읽어주는 것은 파일 시스템인데 운영체제가 하고 있다. 1바이트씩 처리-> 여러번 읽어야 하고, 속도 넘 느리다. 그래서 데이터를 한번에 모아서 처리하는것이 입출력성능 향상되고 효율적이다. 즉 버퍼가 이역할을 한다. 입출력 성능 향상을 위한 보조스트림 예제 (바이트 기반의 Buffered 스트림 사용 예제) import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class T11_BufferedIOTest { public static void main(String[] args) { // 입출력 성능 향상을 위해서 버퍼를 이용하는 보조 스트림 FileOu..
-
보조스트림, 인코딩 -22.04.01고급자바 2022. 4. 1. 14:16
한글은 깨짐이 발생한다..... 바이트기반이 아닌 문자기반으로 처리를 해줘야한다. 정확히는 char기반으로 처리를 해주는 스트림을 이용한다. import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class T07_FileWriterTest { public static void main(String[] args) { //콘솔(표준 입출력 장치)과 연결된 입력용 문자 스트림 생성 //InputStreamReader => 바이트 기반 스트림을 문자기반 스트림으로 변환해주는 보조 스트림 InputStreamReader isr= new InputStreamReader(System.in); File..
-
스트림-22.04.01고급자바 2022. 4. 1. 10:29
(22.03.31 복습내용) 1.wait, notify 동기화 영역 내에서만 의미가 있음 2.Collection-동기화 안되어있음, 멀티스레드에서 동시에 사용될때 문제가 발생할 수 있음 ->그래서 동기화 해야함 Collections라는 클래스에서 동기화 처리할 수 있는 것을 제공 3.람다식-익명함수인데 자바에서는 함수적 인터페이스이다. 추상메소드가 1개인것만 가능 메소드가 여러개이면 줄였던 코드가 어떤 메소드인지 모르기 때문이다. 4.IO 상대경로: .이나 ..으로 시작함 .현재 .이 있는곳마다 자리가 바뀌니까 상대적인것이다 ->(내자리에 있다가 다른자리갈 수도 있으므로) 절대경로: c,d드라이브문자 . \(슬래시) 장점:내가 어딜가더라도 디렉토리 폴더를 지정할 수 있다. import java.util...