Java155 파일 출력 스트림(바이트 기반) - 11 바이트 기반에 출력 스트림을 활용해서 파일 생성 또는 파일에 데이터를 출력해보자. 시나리오 코드 - 1package io.file.ch02;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class MyFileOutputStream { // 코드에 시작점 public static void main(String[] args) { // 데이터가 존재 String data = "Hello, Java FileOutputStream \n안녕반가워"; // 1. 파일에다가 데이터를 저장 하고 싶다면(바이트 기반) // 자바 8버전 부터 제공 // try-catch-reso.. 2024. 5. 21. 파일 입력 스트림(바이트 기반) - 10 바이트 기반에 입력 스트림을 활용해서 파일에 있는 데이터를 읽어 보자. package io.file.ch01;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class MyFileInputStream { public static void main(String[] args) { // 외부에 있는 파일 데이터를 읽을려면 input FileInputStream in = null; try { in = new FileInputStream("a.txt"); // 1단계 // int readData = in.read(); // 2단계 /.. 2024. 5. 21. 표준 입출력이란? - 9 자바에서 표준 입출력(Standard Input/Output)은 프로그램과 사용자 간의 기본적인 데이터 교환 방법을 제공합니다.표준 입출력의 핵심 요소System.inSystem.in은 자바 프로그램의 표준 입력 스트림입니다. 기본적으로 이 스트림은 키보드 입력을 받습니다. 이는 InputStream 객체로, 바이트 기반의 낮은 수준의 입력 기능을 제공합니다. 일반적으로, 사용자로부터 텍스트를 읽기 위해 Scanner 클래스나 **BufferedReader**와 같은 더 높은 수준의 래퍼(wrapper)를 사용하여 쉽게 데이터를 처리할 수 있습니다.System.outSystem.out은 자바 프로그램의 표준 출력 스트림으로, 텍스트 데이터를 콘솔에 출력합니다. 이 스트림은 PrintStream 객체로, .. 2024. 5. 21. 자바 I/O 개론 - 8 자바 I/O (입출력)는 데이터를 읽고 쓰는 기능을 말하며, 파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고받는 데 사용됩니다. 자바의 I/O 시스템은 크게 네 가지 주요 구성 요소로 나눌 수 있습니다: 바이트 기반 스트림, 문자 기반 스트림, 버퍼링 스트림, 그리고 고수준의 스트림으로 분류할 수 있습니다. 사전 기반 지식 Stream 이라는 단어에 대해서 먼저 살펴 보자. 스트림(Stream)은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들입니다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는 데 사용되는 추상적인 개념으로, 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 합니다.java.io 패키지자바 I/O의 스트림 API에는 .. 2024. 5. 21. Inner class(중첩 클래스) - 7 학습 목표1. 내부 클래스란? (inner class) 2. 내부 클래스의 종류 1. 내부 클래스란? (inner class)자바에서 내부 클래스(Inner Class)는 한 클래스 내부에 선언된 클래스를 말합니다. 내부 클래스를 선언하게 되면 내부 클래스와 외부 클래스라고 표현할 수 있습니다. 내부 클래스는 보통 외부 클래스와 연관이 있는 경우가 많고 다른 곳에서 거의 사용할 일이 없는 경우에 내부 클래스를 선언해서 활용을 합니다. class OuterClass { private int num = 10; class InnerClass { public void display() { System.out.println("num: " + num); .. 2024. 5. 21. Thread에 wait와 notify(프로듀서-컨슈머패턴) - 6 💡 학습 목표1. 스레드 동기화 이해: synchronized 블록을 사용하여 여러 스레드가 공유 자원에 동시에 액세스하지 않도록 관리합니다. 이는 데이터 일관성과 스레드 안전을 유지하는 핵심 개념입니다.2.wait()와 notify() 메소드의 사용: 이 두 메소드를 사용하여 스레드 간의 통신을 구현합니다. wait()를 호출하는 스레드는 특정 조건이 충족될 때까지 대기하고, notify()를 사용하여 조건 충족 시 다른 스레드를 깨워 작업을 계속하도록 합니다.3.프로듀서-컨슈머 패턴: 이 패턴은 멀티스레딩 디자인에서 흔히 사용되는 패턴으로, 한 스레드(프로듀서)가 데이터를 생성하고 다른 스레드(컨슈머)가 이를 소비합니다. 프로듀서와 컨슈머 패턴으로 코딩해보기package useful.ch06;im.. 2024. 5. 21. 이전 1 ··· 12 13 14 15 16 17 18 ··· 26 다음