본문 바로가기

자바16

[Java] IO - 문자(char) 단위 IO 개념 그리고 예제코드 repo [IO 관련 예제코드] - 레포 : https://github.com/imjinbro/javaBasic/tree/master/src/com/jinbro/source/io - 아직 포스팅 하지않았지만 스트림 사용(byte, char 단위 각각, 콘솔, 파일 네트워크IO) 예제가 있음 - 네트워크 IO는 콘솔기반 다중접속 채팅프로그램을 구현하면서 익히는 중 (1) 소켓 - 스트림 데이터 통신(2) 서버(1) : 클라이언트(N) - 대기실 채팅, 명령어까지 구현(3) 방 만들고 따로 참여해서 방 채팅하는 것은 구현하는 중 (4) 이후 리팩토링까지..... : 객체지향스럽게(https://imjinbro.github.io/) [Reader]- 문자(char) 단위로 데이터를 읽어올 떄 사용하는 스트림- 메서드(.. 2017. 12. 7.
[Java] IO - 바이트 단위 IO 개념 그리고 예제코드 repo [IO 관련 예제코드] - 레포 : https://github.com/imjinbro/javaBasic/tree/master/src/com/jinbro/source/io - 아직 포스팅 하지않았지만 스트림 사용(byte, char 단위 각각, 콘솔, 파일 네트워크IO) 예제가 있음 - 네트워크 IO는 콘솔기반 다중접속 채팅프로그램을 구현하면서 익히는 중 (1) 소켓 - 스트림 데이터 통신(2) 서버(1) : 클라이언트(N) - 대기실 채팅, 명령어까지 구현(3) 방 만들고 따로 참여해서 방 채팅하는 것은 구현하는 중 (4) 이후 리팩토링까지..... : 객체지향스럽게(https://imjinbro.github.io/) [I/O]- 데이터를 외부에서 읽고, 외부로 출력하는 작업 : Input, Output.. 2017. 12. 7.
[Java] 자바 IO - IO, 스트림 개념 [IO 관련 예제코드] - 레포 : https://github.com/imjinbro/javaBasic/tree/master/src/com/jinbro/source/io - 아직 포스팅 하지않았지만 스트림 사용(byte, char 단위 각각, 콘솔, 파일 네트워크IO) 예제가 있음 - 네트워크 IO는 콘솔기반 다중접속 채팅프로그램을 구현하면서 익히는 중 (1) 소켓 - 스트림 데이터 통신(2) 서버(1) : 클라이언트(N) - 대기실 채팅, 명령어까지 구현(3) 방 만들고 따로 참여해서 방 채팅하는 것은 구현하는 중 (4) 이후 리팩토링까지..... : 객체지향스럽게(https://imjinbro.github.io/) [I/O]- 데이터를 외부에서 읽고, 외부로 출력하는 작업 : Input, Output.. 2017. 12. 7.
[Java] 자바 시작! - 왜? 자바 특징, JRE, JDK, JVM 살펴보기 [자바를 다시 하는 이유]- 일단 재밌다 : 내가 재밌어하고 하고 싶어하니깐 더 잘할 수 있을 것 같았음 - 처음 접한 언어가 자바- 다시 해보고 싶은 마음이 들었음 - 범용성 : 안드로이드 개발 뿐만 아니라 웹 등 여러 곳에서 사용할 수 있음 - 국내 다수의 기업에서 자바를 사용 - 이식성 : 동일한 코드 다른 곳에서 사용! - 자바스크립트에 대한 약간의 불만 : 디버깅, 지금은 컨텍스트, 변수객체, 스코프 등등 알고있어서 실수없이 잘하지만 그래도 찝찝함이… 똑 부러지는 언어를.. - 더 빠져보고 싶은 생각 - 그래서 시작! [자바의 특징]- 언어의 특징을 아는 것은 매우 굉장히 엄청 중요하다! (1) 오크(Oak) 라는 언어에서 부터 시작 : 가전제품에서 사용될 목적 (2) 이식성이 뛰어남 : 서로 .. 2017. 9. 1.
[Java] Stream - 이진데이터 파일 스트림 [FileOutputStream] - 바이트데이터 입력스트림(데이터입력 / 바이트(배열)스트림)- char형이 아닌 바이트데이터를 취급함- 1byte == 8bit, 1bit는 2진수(바이너리코드) : on/off, int 변수 1개 == 4byte, File데이터스트림 형태 == 바이너리코드- 데이터 형태만 다를 뿐 파일에 대한 데이터스트림 과정은 크게 같다. - 데이터 형태가 문자형태가 아니기때문에 텍스트에디터로 켜도 확인할 수 없다. 확인할 수 있는 방법은 FileInputStream을 활용하는 것 [메소드]- write(int) : int를 파라미터로 넘기면 바이너리로 데이터입력하는 메소드(1byte씩 스트림을 하기때문에 4byte인 int를 바이너리코드로 변환해서 넘김) - write(byte .. 2017. 1. 24.
[Java] Stream - 텍스트데이터 파일 스트림 [FileReader] - 텍스트파일의 텍스트(char형)읽기(데이터출력 / 문자스트림) [메소드] - read() :파일에 있는 문자 데이터를 한 자씩 읽어서 반환하는 메소드, 반환타입은 char가 아니라 int인데 char의 표현범위를 벗어난 다른정보도 리턴해서더이상 리턴 할 것이 없을 때에는 -1을 리턴하기 때문에 조건문에 명시해두면 무한반복을 멈출 수 있게할 것이다. - read(char[] arr) : 위의 메소드와는 다르게 스트림 데이터를 바로 반환하는 것이 아니라 파라미터로 받은 문자 배열에 저장함. 앞의 메소드와 똑같이 문자를 다읽었을 때에는 -1을 반환한다. 이 메소드를 사용하기위해서는 문자 배열을 미리 만들어둬야함 앞서 말했다시피 한 자 한 자씩 읽는 것은 매우 효율적이지 못한 것이다... 2017. 1. 24.
[Java] 자바, 데이터 입출력 방식 Stream [데이터 입출력 방식 Stream]자바 프로그램에서 입력되고 출력되는 모든 데이터는 스트림 형태(1byte씩)로 주고받는다.스트림 형태란 데이터가 한 자씩 일렬로 흘러가는 형태, 키보드로 입력받은 데이터도 스트림으로 받고 모니터로 출력하는 데이터도 스트림으로 받는다.오늘 포스팅할 것은 큰 단위의 데이터를 스트림하는 형태에 대해 배워볼 것인데, 큰 단위의 데이터스트림은 보통 파일에 기록해두고 파일 내용을 불러온다.원래는 DB에 저장해두는 것이 맞지만 구조화된 데이터 파일(엑셀)을 쓰면 비슷한 효과라고 할까나....? 아무튼 자바에서는 스트림을 표준클래스(java.io)로 지원을 하는데, 파일의 흐름 상태에 따라 구분하고, 데이터의 형태에 따라 클래스를 최종 구분한다.파일의 흐름 : 입/출력, 출력할 때에는.. 2017. 1. 24.
[Java] java.lang 패키지 : Math, Random [Math 클래스] 수학에서 많이 사용되는 여러가지 계산식을 메소드로 제공하고 있는 클래스다. 모두 static 메소드이기때문에 객체를 생성하지않아도 호출가능하다. int / double / float형 연산이 가능한 프리미티브 타입 변수를 파라미터로 받아 연산한다. [메소드] => pow : a의 b승을 반환하는 메소드 => sqrt : a의 제곱근을 반환하는 메소드 => cbrt : a의 세제곱근을 반환하는 메소드 => abs : a의 절대값을 반환하는 메소드 => max/min : a,b 중 큰 수 작은 수를 반환하는 메소드 => random : 난수를 반환하는 메소드 그외 삼각함수, 로그 관련 메소드가 있음 System.out.println("2의 3승 : " + Math.pow(2, 3)); S.. 2017. 1. 22.
[Java] java.lang 패키지 : Calendar, DateFormat, TimeZone 날짜와 시간은 프로그램에 있어서 아주 자주 사용되는 데이터이다.가령 타임라인이 있다고 하자. 타임라인에 쓰여진 글들은 말 그대로 타임순서대로 나열되어 있는 것이다.이때 필요한 것이 시간/날짜를 알 수 있는 클래스다.java.lang > java.util 패키지에서는 이러한 기능을 하는 표준클래스들이 있다. [Calendar 클래스]캘린더 클래스는 인터페이스다. 인터페이스인 이유는 나라마다 날짜를 계산하는 방법(우리나라 : 양력, 음력)이 문화와 지역에 따라 다르기 때문이다.캘린더 클래스에서는 기본적으로 날짜를 계산하는 메소드만 있고 나머지는 인터페이스를 구현하는 클래스에서 따로 구현을 해야한다.캘린더 클래스를 구현하여 양력을 계산하는 GregorianCalendar 클래스가 있다.api 참고 : http.. 2017. 1. 21.
[Java] java.lang 패키지 : StringTokenizer [StringTokenizer]문자열로부터 토큰을 추출하는 기능을 하는 클래스, 여기서 말하는 토큰이란 문자열을 구성하는 단위를 말한다."토끼 강아지 고양이" 라는 문자열이 있다면 "토끼" "강아지" "고양이" 가 토큰이다.보통 데이터를 가져와서 어느 기준을 따라 자르고 저장할 때 중간과정에서 많이 쓸 것으로 보인다. [메소드] => hasMoreToken : 문자열의 토큰을 반환할 때 다음 토큰이 있는지 없는지 검사한 후 boolean 값을 반환하는 메소드, 반복작업할 때 씀 => nextToken : 규칙(델리미터)에 따라서 잘라진 토큰을 하나씩 반환하는 메소드 String str8 = "제목 : 진브로의 하루, 페이지수 : 100, 호수 : 1"; StringTokenizer stok = new S.. 2017. 1. 20.