본문 바로가기

분류 전체보기

(354)
파일 출력 스트림 ( 문자 기반 스트림 ) 파일 출력 스트림 (문자 기반) 이란?파일 출력 스트림 (문자 기반)은 자바에서 텍스트 데이터를 파일에 쓰기 위해 사용되는 스트림이다. 가장 일반적으로 사용되는 클래스는 FileWriter 이다. FileWriter 는 문자 데이터를 파일에 쓸 때 사용되며, 이 클래스는 내부적으로 파일 시스템과 통신하여 데이터를 문자 단위로 파일에 쓰게 해준다. 이는 바이트 기반 스트림인 FileOutputStream 과 대비되며, 텍스트 데이터를 처리할 때는 FileWriter 가 더 적합하다. FileOutputStream : 바이너리 데이터를 파일에 쓰기에 특히 적합하다.이미지, 비디오, 오디오 파일 쓰기, 직렬화 데이터 쓰기, 압축 파일 생성 package io.file.ch06;import java.io.Fil..
파일 입력 스트림 ( 문자 기반 스트림 ) 파일 입력 스트림 (FileInputStream) : 지정된 파일 이름으로부터 바이트 단위의 입력 스트림을 생성한다.문자 입력 스트림 변환기 (InputStreamReader) : FileInputStream 을 통해 읽은 바이트 데이터를 문자 데이터로 변환한다. 여기서는 UTF-8 인코딩을 사용한다.버퍼링된 문자 입력 스트림 (BufferedReader) : InputStreamReader 로부터 데이터를 효율적으로 읽기 위해 버퍼링을 추가한다. readLine() 메서드를 사용하여 파일의 각 줄을 편리하게 읽을 수 있다. 시나리오 코드1Seoul.txt, NewYork.txt 파일 생성하고 내용을 넣어주세요.기반 스트림 FileReader → 단 인코딩에 대한 단점이 존재한다.package io.fi..
문자 기반 스트림 자바 I/O에서 문자 기반 스트림의 사용이유자바의 입출력( I/O ) 시스템은 크게 두 가지 유형의 스트림을 제공한다. 바이트 기반 스트림과 문자 기반 스트림.문자 기반 스트림은 텍스트 데이터 (문자 데이터)를 처리할 때 사용됩니다. 1. 문자 인코딩 처리 : 문자 기반 스트림은 자동으로 플랫폼의 기분 문자 인코딩을 사용하여 문자 데이터를 올바르게 인코딩하거나 디코딩한다. 이는 다양한 문자 인코디을 처리하면서 발생할 수 있는 복잡성을 추상화하고, 개발자가 문자 데이터를 쉽게 처리할 수 있도록 돕는다. 2. 국제화 지원 : 유니코드와 같은 다국어 지원을 통해 전 세계적으로 소프트웨어를 배포할 때 필수적이다. 문자 기반 스트림을 사용하면 다양한 언어의 문자 처리가 간편해진다. 3. 가독성 및 편의성 : 문자..
파일 Copy ( 바이트기반 입/출력 ) package io.file.ch03;import java.io.FileInputStream;import java.io.FileOutputStream;public class FileCopy { public static void main(String[] args) { // 스트림은 기본적으로 단방향 // 입력 스트림, 출력 스트림 두개가 필요하다. // 파일 경로 (복사할 대상) String sourceFilePath = "D:\\workspace\\java\\teco_java\\a.zip"; // 목적지 파일 String desitnationFilePath = "copy1.zip"; // 소요시간 확인 long startTime = System.nanoTime(); tr..
파일 출력 스트림 ( 바이트 기반 ) 버퍼를 사용하는 것은 입출력 작업에서 매우 중요한 역할을 하며, 그 원리는 이해하는 것은 데이터 처리의 효율성을 높이는데 큰 도움이 된다. 버퍼의 사용 원리는 기본적으로 '일괄 처리' 또는 '집단 처리' 방식에 비유할 수 있다. 버퍼의 기본 원리버퍼는 임시 저장 공간을 말하며, 데이터를 최종 목적지(파일, 네트워크, 디스플레이 등)에 쓰기 전에 일시적으로 데이터를 모아 두는 역할을 한다. 효율성 증가 : 작은 데이터 조각들을 바로 전송하거나 저장하는 대신 큰 덩어리로 모아서 한 번에 처리한다. 이 방식으 특히 입출력 연산이 자주 발생하는 상황에서 유용하며, 시스템의 입출력 호출 횟수를 줄여 전체적인 성능을 향상시킨다. 시스템 부하 감소 : 버퍼를 사용하면 데이터를 모아 두었다가 한 번에 처리하기 때문에 ..
파일 입력 스트림 ( 바이트 기반 ) 💡 바이트 기반에 입력 스트림을 활용해서 파일에 있는 데이터를 읽어 보자.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단계// System..
표준 입출력 표준 입출력이란?자바에서 표준 입출력(Standard Input/Output)은 프로그램과 사용자 간의 기본적인 데이터 교환 방법을 제공한다. 표준 입출력의 핵심 요소1. System.in System.in 은 자바 프로그램의 표준 입력 스트림이다. 기본적으로 이 스트림은 키보드 입력을 받는다. 이는 InputStream 객체로, 바이트 기반의 낮은 수준의 입력 기능을 제공한다. 일반적으로 사용자로부터 텍스트를 읽기 위해 Scanner 클래스나 BufferedReader 와 같은 더 높은 수준의 래퍼(wrapper)를 사용하여 쉽게 데이터를 처리할 수 있다.2. System.out System.out 은 자바 프로그램의 표준 출력 스트림으로, 텍스트 데이터를 콘솔에 출력한다. 이 스트림은 PrintStr..
자바 I/O 개론 자바 I/O (입출력)이란?자바 I/O (입출력)는 데이터를 읽고 쓰는 기능을 말하며 파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고 받는데 사용된다. 자바 I/O 시스템은 크게 네 가지 주요 구성 요소로 나눌 수 있다 : 바이트 기반 스트림, 문자 기반 스트림, 버퍼링 스트림, 그리고 고수준의 스트림으로 분류할 수 있다. 사전 기반 지식💡 Stream 이라는 단어에 대해서 먼저 살펴 보자.스트림(Stream)은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들이다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는 데 사용되는 추상적인 개념으로, 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 한다. java.io 패키지💡 자바 I/O..

728x90