자바 191

자바 NIO 파일 비동기 채널 - AsynchronousFileChannel 생성과 닫기, 파일 읽기 , 파일 쓰기

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 파일 비동기 채널 :FileChannel 의 read() 와 write() 는 파일의 입출력 동안에 블로킹됩니다.UI 변경이나 이벤트를 처리하는 스레드에서 위 두 개의 메소드를 호출하면 블로킹되는 동안 UI 갱신이나 이벤트 처리가 불가능합니다.때문에 별도의 작업 스레드를 생성해 위 메소드들을 호출해야 합니다.그리고 동시에 처리해야 할 파일 수가 많으면 스레드 수도 증가를 하기 때문에 문제가 됩니다.=> java NIO는 불특정 다수의 파일이나 대용량 파일의 입출력 작업을 위해 비동기 파일 채널을 제공합니다. Asynchronou..

자바 2017.04.17

자바 NIO 파일 채널 - FileChannel의 생성과 닫기, 파일 쓰기와 읽기, 파일 복사

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 파일 채널 : java.nio.channels.FileChannel 을 이용하면 파일 읽기와 쓰기를 할 수 있습니다.동기화 처리가 되어 있기 때문에 멀티 스레드 환경에서 사용하더라도 안전합니다. FileChannel 의 생성과 닫기생성 - 정적 메소드인 open() 을 호출해 얻거나, IO 의 FileInputStream, FileOutputStream의getChannel() 호출해서 얻을 수 있습니다. 생성 방법 : FileChannel fileChannel = FileChannel.open(Path path, OpenOpti..

자바 2017.04.16

자바 NIO 버퍼 메소드 - 공통, 데이터를 읽고 저장하는, 버퍼 예외 종류

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 버퍼 메소드 Buffer :버퍼 생성 후 사용할 때에는 Buffer 가 제공하는 메소드를 잘 활용해야 합니다.버퍼마다 공통으로 사용되는 메소드가 있고 데이터 타입 별로 Buffer 가 개별적으로 가지는 메소드도 있습니다. 공통 메소드 :각 타입 별로 버퍼 클래스는 Buffer 추상 클래스를 상속합니다.BUffer 추상 클래스에는 모든 버퍼가 공통적으로 가져야 할 메소드들이 정의되어 있습니다. 데이터를 읽거나 저장하는 메소드 : 버퍼에 데이터를 저장하는 메소드는 put() 이고 읽는 메소드는 get() 입니다이 메소드들은 Buff..

자바 2017.04.16

자바 NIO 버퍼 - Buffer 의 종류, Buffer 생성 버퍼 생성, 버퍼 위치 속성

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 버퍼란 읽고 쓰기가 가능한 메모리의 배열을 말합니다.NIO에서는 데이터의 입출력을 위해서 항상 버퍼를 사용해야 합니다.버퍼를 이해하고 제대로 잘 사용할 수 있어야 NIO에서 제공하는 API를 제대로 사용할 수 있습니다. 버퍼의 종류- 데이터 타입에 따른 버퍼 : NIO 버퍼는 저장되는 데이터 타입에 따라 Buffer 추상 클래스를 상속하는 별도의 클래스를 제공합니다. MappedByteBuffer 는 ByteBuffer의 하위 클래스로써 파일의 내용에 랜덤하게 접근하기 위해서파일의 내용을 메모리에 매핑시킨 버퍼입니다. - 넌다이..

자바 2017.04.16

자바 NIO 파일과 디렉토리 - WatchService 와치 서비스

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 2017/04/16 - [자바] - 자바 NIO 파일과 디렉토리 - Path, 파일 시스템 정보, 파일의 속성 읽기, 파일과 디렉토리 생성과 삭제 WatchService - 와치서비스: 파일 변경 통지 매커니즘으로 알려져 있습니다. 자바 버전 7에서 처음 나왔고디렉토리 내부에서 파일 생성, 삭제, 수정 등의 내용 변화를 감시하는데 사용됩니다.예를 들면 에디터에서 파일을 편집하고 있을 때 에디터 바깥에서 파일 내용을 수정하게 되면파일 내용이 변경되었으니 파일을 다시 불러올 것인지 묻는 대화상자를 띄우는 것이 있습니다. WatchS..

자바 2017.04.16

자바 NIO 파일과 디렉토리 - Path, 파일 시스템 정보, 파일의 속성 읽기, 파일과 디렉토리 생성과 삭제

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 파일과 디렉토리 =>IO는 파일의 속성 정보를 읽기 위해 File 클래스를 제공합니다.NIO는 좀 더 다양한 파일의 속성 정보를 제공해주는 클래스, 인터페이스를java.nio.File, java.nio.file.attribute 패키지에서 제공합니다. 경로정의 :Path 는 IO 의 java.io.File클래스에 대응되는 NIO 인터페이스입니다.NIO 의 API에서 파일의 경로를 지정하기 위해 Path를 사용하기 때문에 Path의 사용법을 알아야합니다. Path 구현 객체는 java.nio.file.Paths 클래스의 get()..

자바 2017.04.16

자바 IO 와 NIO 의 차이점과 선택

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ NIO :자바 버전 4 부터 새로운 입출력 이라는 뜻에서 java.nio 패키지에 포함이 되었다가자바 버전 7로 버전 업을 하면서 자바 IO 와 NIO 사이의 일관성이 없는 클래스 설계를 바로 잡고비동기 채널 등의 네트워크를 지원을 대폭 강화시킨 NIO.2 API 가 추가되었습니다.NIO.2 는 java.nio의 하위 패키지( java.nio.channels, java.nio.charset, java.nio.file )에 통합되어 있습니다. 스트림과 채널 IO 는 스트림 기반입니다.스트림은 입력 스트림과 출력 스트림이 구분되어 ..

자바 2017.04.14

자바 UDP 네트워킹 - 발신자와 수신자

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 지난 두 개의 포스팅에서 TCP 네트워킹을 통한 채팅 서버와 클라이언트를 만들어 보았는데요.2017/04/12 - [자바] - 자바 TCP 채팅 서버 만들기 - 서버 클래스의 구조 및 startServer(), stopServer(),2017/04/13 - [자바] - 자바 Socket 채팅 클라이언트 만들기 이번 포스팅에서는 UDP 네트워킹에 대해 공부하겠습니다. UDP는 비연결 지향적 프로토콜입니다.비연결 지향직이란 말은 데이터를 주고 받을 때 TCP 처럼 연결 절차를 거치는 것이 아니라발신자가 일방적으로 데이터를 발신하는 ..

자바 2017.04.13

자바 Socket 채팅 클라이언트 만들기

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 2017/04/12 - [자바] - 자바 TCP 채팅 서버 만들기 - 서버 클래스의 구조 및 startServer(), stopServer(), 지난 포스팅에 이어 이번에는 채팅 클라이언트를 만들어보겠습니다~ 먼저 클라이언트 클래스의 구조입니다. public class ExampleClient extends Application { Socket socket; void startClient() { ... } void stopClient() { ... } void receive() { ... } void send(String dat..

자바 2017.04.13

자바 TCP 채팅 서버 만들기 - 서버 클래스의 구조 및 startServer(), stopServer(),

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이전 포스팅들에서 공부해본 ServerSocket 과 Socket 그리고 스래드풀 ( ExecutorService )가 어떻게사용되는지 채팅 서버 구현을 통해서 알아보겠습니다.그 전에 저는 UI를 JavaFX로 구현을 했는데요.때문에 JavaFX를 공부하고 오시면 좀 더 이해하시는데 도움이 되실 것 같습니다 ㅎㅎhttp://blog.naver.com/rain483/220605517395제가 운영하는 네이버 블로그인데요.약 40개 정도의 JavaFX 포스팅이 있으니 참고해주세요. 1. 서버 클래스의 구조 : public class..

자바 2017.04.12