| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- JAVA기초
- 형 변환
- continue문
- IntelliJ IDEA
- 반복문
- 상수
- OPP개념
- 생성자
- 메서드
- 시스템 환경 변수 편집
- for문
- 연관관계
- 컴파일
- 자바 멀티스레딩
- multi-threading
- Java
- java변수
- 인텔리제이 기초 설정
- break문
- 메서드 오버로딩
- 포함관계
- 집합관계
- this예약어
- While
- Thread
- 인텔리제이 한글 깨짐 해결법
- JAVA객체지향
- 접근제어지시자
- Java데이터 타입
- function
- Today
- Total
목록Java (85)
최원종의 개발 블로그
소켓-2에서 만든 서버에 연결해 메시지를 보내는 클라이언트 설계.클라이언트 ── 메시지 전송 ──► 서버(이번 단원) (소켓-2)서버 vs 클라이언트서버 : ServerSocket (대기) + Socket (통신) + BufferedReader (읽기)클라이언트 : Socket (통신) + PrintWriter (쓰기) -코드package client.ch01;import java.io.IOException;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;//소켓 통신을 위한 클라이언트 측 도구public class Clien..
단방향 통신단방향 통신: 클라이언트 ──메시지 전송──► 서버 (받기만 함)서버 코드에서 필요한 것1. ServerSocket : 포트를 열고 연결 요청을 기다림2. Socket : 연결된 클라이언트와 실제 통신3. BufferedReader : 클라이언트가 보낸 메시지를 읽음 -코드package server.ch01;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class ServerFile { public static void main(String[] args) { //소켓 통신을 하기 위한 서버측 테스트 코드1 //(..
소켓 정의프로그램 사이 연결을 위한 소프트웨어 인터페이스두 프로그램이 네트워크로 데이터를 주고받기 위한 연결 끝점[내 프로그램] [상대방 프로그램] | | 소켓 A ────── 네트워크 ────── 소켓 B | | (전화기) (전화기) I/O단원과 소켓 단원 차이점I/O 단원: [파일] ── FileInputStream ──► 내 컴퓨터 [프로그램] 내 컴퓨터 [프로그램] ── FileOutputStream ──► [파일]소켓 단원: 내 컴퓨터 [..
파일 복사의 원리 읽기와 쓰기를 동시에 열어두고, 읽은 데이터를 바로 다른 파일에 쓰는 방법[원본 파일] ──읽기──► [프로그램 메모리] ──쓰기──► [복사본 파일] InputStream OutputStream-코드package io.ch18;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileCopy { public static void main(String[] args) { //파일 경로 지정 String sourceFile..
스트림 개념 정리FileWriter : 파일에 문자 단위로 쓰기, String 바로 write() 가능FileReader : 파일에서 문자 단위로 읽기, 한글 처리 가능BufferedWriter : FileWriter 를 감싸서 버퍼 + newLine() 추가BufferedReader : FileReader 를 감싸서 버퍼 + readLine() 추가InputStreamReader : System.in(바이트) → 문자 스트림 변환 브릿지append 모드 : new FileWriter("파일", true)readLine() : 한 줄 전체를 String 으로 읽음, null = 파일 끝newLine() : 운영체제에 맞는 줄바꿈 자..
보조 스트림: 기반 스트림을 감싸서 기능을 추가하는 스트림 (이전 스트림들은 단독 사용)기반 스트림만 사용: [파일] ──────────────────► [프로그램] FileReader (1문자씩 읽음, 매번 디스크 접근)보조 스트림 추가: [파일] ──────────────────────────────► [프로그램] FileReader → BufferedReader (1문자씩) (버퍼에 모아서 + readLine() 가능) 보조 스트림 중요한 점보조 스트림은 단독으로 사용할 수 없습니다.반드시 기반 스트림을 생성자에 넣어서 감싸야 합니다.new BufferedReader() // 컴파일 오류! ..
바이트 스트림으로 한글 파일 읽으면 글자가 깨지는 이유한글 '안' 을 UTF-8 로 표현하면 → 3바이트 [0xEC, 0x95, 0x88] // 0x 가 붙으면 16진수(Hexadecimal) 표기입니다.FileInputStream 은 1바이트씩 읽음→ '안' 이 세 조각으로 잘려서 따로따로 읽힘→ 각 조각을 (char) 로 변환하면 의미없는 문자가 출력됨문자 스트림은 '안' 이 3바이트라는 것을 알고 통째로 읽음→ '안' 이 정상 출력됨파일에서 읽을 때는 3바이트이지만, 자바 프로그램 안에서는 char 2바이트로 변환되어 처리됩니다.바이트 스트림 vs 문자 스트림바이트 스트림 InputStream / OutputStream → 1바이트 단위, 한글 깨짐 위험문자 스트림 Reader / W..
-간단한 암호화 저장소중요한 메모를 파일에 저장할 때 내용을 살짝 변환시켜서 저장 카이사르 암호저장 방법은 저장할 때 각 문자의 ASCII코드에 숫자를 더하고 읽을 때는 더한 숫자만큼 빼서 원래 문자로 복원하는 방법원본 텍스트 : Hello암호화 후 : Khoor (H+3=K, e+3=h, l+3=o, l+3=o, o+3=r)복호화 후 : Hello (K-3=H, h-3=e, o-3=l, o-3=l, r-3=o) 코드1package io.ch15_1;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Scanner;public class SecretNote1 { public static void m..
개념 정리FileInputStream : 파일에서 바이트 단위로 읽기FileOutputStream : 파일에 바이트 단위로 쓰기try-with-resources: 블록 종료 시 자동 close()read() : 1바이트 읽기, 파일 끝이면 -1 반환write() : 1바이트 또는 byte[] 쓰기getBytes() : String → byte[] 변환(char) : int → 문자 형변환append 모드 : new FileOutputStream("파일", true)-타자 연습 기록기 코드package io.ch15_1;import java.io.FileInputStream;import java.io.FileOutputS..
FileOutputStream은 FileInputStream의 반대 방향으로 파일에 데이터를 쓰는 방법.FileOutputStream 은 프로그램에서 파일로 데이터를 1바이트씩 내보내는 스트림항목내용Np" style="width: 17.3947%; text-align: center;">패키지java.ioNp" style="width: 17.3947%; text-align: center;">상위 클래스OutputStreamNp" style="width: 17.3947%; text-align: center;">쓰기 단위1바이트Np" style="width: 17.3947%; text-align: center;">파일 없을 때자동 생성 -코드package io.ch15;import java.io.FileOut..