차근차근 개발자 되기

Java

18일차: Java java.io/java.net패키지- 2021.07.08

wellow 2021. 7. 8. 23:50

목차

1.    java.io패키지

2.    java.net패키지

 

1. java.io패키지                                                    

 

1) 보조 스트림                                              

- 다른 스트림과 연결되어 여러 가지 편리한 기능을 제공해주는 스트림

- 문자 변환, 입ᆞ출력 성능 향상, 기본 데이터 타입 입ᆞ출력, 객체 입ᆞ출력 등의 기능을 제공

- DataInputStream(입력) 클래스와 DataOutputStream(출력) 클래스를 이용하여 시본 데이터 타입 입ᆞ출력 가능

 

기본 타입 입ᆞ출력 보조 스트림                                → ★DataIOTest 참고

- 정수형(int), 실수형(double) 같은 기본 데이터 타입을 유지하면서 입ᆞ출력 할 수 있도록 함

 

 

 

객체 직렬화                         → ★PersonInformation / ObjectStreamTest 참고

- 데이터가 아닌, 객체를 파일 또는 네트워크로 입ᆞ출력 할 수 있는 기능 제공

- Serializable 인터페이스를 상속받아야 객체 직렬화가 가능

- 클래스: ObjectInputStream, ObjectOutputStream

- 메소드: readObject()writeObject() 메소드

 

 

2) File 클래스                                                            → ★FileTest 참고

데이터들이 입ᆞ출력 하면서 사용하는 파일이나 디렉토리 체제를 관리함

파일 시스템의 파일을 표현하는 클래스

  - 파일 크기, 파일 속성, 파일 이름 등의 정보 제공

  - 파일 생성 및 삭제 기능 제공

  - 디렉토리 생성, 디렉토리에 존재하는 파일 리스트 얻어내는 기능 제공

 

① File 클래스로 디렉토리 생성

File file = new File(String parent, String child);

   ex. File temp = new File("C:/java01", "temp");      → C드라이브에 ‘java01’ – ‘temp’ 폴더 생성

File file = new File(String pathname);

   ex. File temp = new File(“test”);                        현재 프로젝트 폴더 하위에 ‘test’ 폴더 생성

 

• 생성 메소드: mkdirs()

 

② File 클래스로 디렉토리 삭제

• 삭제 메소드

- 파일이 없는 단일 폴더 : delete() 메소드

- 파일이 있는 단일 폴더 : listFiles() 메소드로 파일을 구해와서 삭제 후, 디렉토리 삭제

- 파일이 없는 디렉토리 : getParentFile().delete() 메소드로 부모 디렉토리 삭제

 

2. java.net 패키지

 

1) 네트워크 기초

- 네트워크: 여러 대의 컴퓨터를 통신 회선으로 연결한 것

- 서버: 서비스를 제공하는 프로그램

- 클라이언트: 서비스를 받는 프로그램

 

① IP(Internet Protocol) 주소

- 네트워크상에서 컴퓨터를 식별하는 번호

- 네트워크 어댑터( (Lan) 카드) 마다 할당

- IP 주소 확인 법명령 프롬프트 (cmd.exe) 사용

- xxx.xxx.xxx.xxx  형식으로 표현 (xxx 0~255 사이의 정수)

 

DNS (Domain Name System): ip주소를 도메인 이름으로 변환해주는 시스템

[125.209.222.141] www.naver.com

 

포트(Port)

- 같은 컴퓨터 내에서 프로그램을 식별하는 번호

- 클라이언트는 서버 연결 요청 시 IP 주소와 Port 같이 제공

- 0~65535 범위의 값을 가짐

- 포트 범위는 세 가지로  구분

 

- 같은 컴퓨터 내에서 프로그램을 식별하는 번호

- 클라이언트는 서버 연결 요청 시 IP 주소와 Port 같이 제공

- 0~65535 범위의 값을 가짐

- 포트 범위는 세 가지로  구분

 

 

* Well Known Port Numbers 중 기억할 만한 것

- FTP : 21

- SSH : 22

- TELNET : 23

- HTTP (웹서비스) : 80

- SMTP (메일 송신) : 25

- POP3 (메일 수신) : 110

 

2) 네트워킹

• java.net API

- ServerSocket, Socket 클래스 이용