2010. 1. 31. 10:09ㆍJava
■ File 클래스
- 시스템에 존재하는 자원에 접근하여 자바 프로그램에서 객체로 이용할 수 있는 클래스
■ File 클래스의 APIs (java.io.*)
- File(File,String)
- File(String)
- File(String,String)
- File(URL)
■ 1byte 입력과 출력
1byte 출력
FileOutputStream fos = new FileOupputSream(FileDescriptor.out); //File 객체 , Network 객체
BufferedOutputStream bos = new BufferedOutputStream(fos,byte수);
DataOutputStream dos = new DataOutputStream(bos); ->메서드
1byte 입력
FileInputStream fis = new FileInputStream(FileDescriptor.in); // File 객체, Nexwork 객체
BufferedInputStream bis = new BufferedInputStream(fis, byte수);
DataInputStream dis = new DataInputStream(bis);
■ 텍스트 입력과 출력
텍스트 출력
OutputStreamWriter osw = new OutputStreamWriter(Sstem.out);
//Network OuputStream 객체
//FileWriter osw = new FileWriter(파일객체 or 문자열)
텍스트 입력
OuputStreamWriter ow = new OutputStreamWrite(System.out);
BufferedWriter bw = new BufferedWriter(ow);
PrintWriter pw = new PrintWriter(bw);
FileWriter fw = new FileWriter(new File("ccc.txt"));
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
PrintReader pr = new PrintReader(br);
FileReader fr = new FileReader(new File("ccc.txt"));
BufferedReader br = new BufferedReader(fr);
PrintReader pr = new PrintReader(br);
■ * java.util.Scanner 클래스
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
■ 객체 입력과 출력
객체 출력
FileOutputStream fos = new FileOutputStream(파일객체 or 문자열);
//Network OutputStream 객체 (직렬화 를 반드시 써야 한다)
BufferedOutputStreamm bos = new BufferedOutputStream(fos);
ObjectOutputStream oos = new ObjectOutputStream(bos);
객체 입력
FileInputStream fos = new FileInputStream(파일객체 or 문자열);
//Network InputStream 객체 (직렬화 를 반드시 써야 한다)
BufferedInputStreamm bos = new BufferedInputStream(fos);
ObjectInputStream oos = new ObjectInputStream(bos);
■ 자바 네트워크
프로그램 네트워크의 정의
- 데이터를 교환을 목적으로 로컬 PC 와 원격 PC 사이의 데이터 흐름을 나타내는 구조
네트워크의 필수 조건
- IP 주소 : PC 고유의 주소 (219.255.61.191)
- Port 번호 : 0 ~ 65535
- 프로토콜 : TCP , UDP <- 약속
- 기타 :
subnet mask (255.255.255.0) : 같은 게이트 웨이 안에 있는지 확인 (End 연산)
dns
gateway (219.255.61.1)
컴퓨터 <-> router <-> gateway INTERNET gateway <-> router <-> 컴퓨터
■ TCP 통신
- TCP 통신의 장점과 단점
장점 : 상대방의 데이터 전달 여부를 곧바로 확인이 가능하다.
단점 : 부하가 많이 걸린다. 지속적인 연결 유지
(Connection을 유지 시켜줘야 한다)
- 자바의 TCP 구현을 위한 클래스들
InetAddress : 주소 관련 클래스 (주소가 들어가는 어디서나 사용 가능)
Socket , ServerSocket
■ URL 통신
URL 클래스
URLConnection 클래스
■ UDP
UDP통신의 장점과 단점
편지 라고 생각하면 된다.
부하가 발생 없다
보낸 데이터의 소실 여부 확인 불가
UDP를 위한 자바의 클래스들 - DatagramPacket ,DatagramSocket
■ Multicast
- Unicast , Broadcast , Multicast 의 구분
x.x.x.255 -> 1~254까지 전부 전송
- Multicast를 위한 자바의 클래스들
(D타입 클래스) 242 ~ 239 번으로 지원받은... Multicast
: DatagramPacket 클래스
- MulticastSocket 클래스
■ RMI
- Remote Method Invocation의 약자
- 원격 지역의 메서드 호출로 실행
■ RMI 프로그램 작성 방법 및 실행
- 원격 인터페이스 작성
-서버측 구현 클래스 작성
-Stub 클래스 생성( rmic 원하는JAVA )
-서버측 바인딩 클래스 작성
-클라이언트 lookup 클래스 작성
-rmiregistry.exe 및 바인딩 클래스 실행 (start rmiregistry.exe)
-lookup 클래스 실행
'Java' 카테고리의 다른 글
Regular Expressions in Java (0) | 2013.07.30 |
---|---|
Delegate, Event , Ramda (0) | 2013.07.04 |
Struts2 도 해보자 시작1 (0) | 2013.06.30 |
JDBC에 대해서 다시한번 보라구.. (0) | 2011.05.11 |
[기초]GUI , AWT 와 JFC ,사용하는 Event 그리고 Applet (0) | 2010.01.31 |
[기초]클래스,예외처리,Collection,Assertion (0) | 2010.01.31 |
[기초]Method , Array , (0) | 2010.01.31 |
[기초] 자바 개요, JVM 메모리 , 자료형,연산자,제어문 (0) | 2010.01.31 |
놓치기 쉬운, 기본적인 사항들! (1) | 2010.01.11 |
Eclipse에 Log4E Plug-in 설치하자 (0) | 2008.05.20 |