전체 글 (397) 썸네일형 리스트형 Swing, Socket을 활용한 1:N 양방향 통신 - 1 (현재까지 진행상태) 로그와 파일 저장 로그 ( Log )란?로그란 프로그램 개발이나 운영 시 시스템의 문제점을 파악하거나 운영상태에서 모니터링 하기 위한 데이터를 의미한다. 시스템 개발 시에는 개발자 및 테스터를 비롯한 소수의 사람들만 로그를 관리하므로 로그 추적이 간단하다. 💡 매번 로깅 코드를 작성하는 것은 불편할 수 있다. 그래서 로그를 편리하게 사용할 수 있도록 클래스를 설계하고, 영구적으로 로그를 저장할 수 있는 파일 저장 기능을 포함하는 코드를 작성해보자. 프로젝트 생성my-logger/├── src/│ └── com/│ └── tenco/│ ├── ConsoleLogger.java│ ├── FileLogger.java│ └── MyLogger.java└── b.. 파일복사 ( 문자기반 입/출력 ), ZIP 파일로 압축 [파일복사]시나리오 코드 1 - 문자기반 스트림을 활용한 파일복사 클래스 설계하기package io.file.ch07;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;public class FileCopyHelper { // 파일 복사 public static void copyFile(String readFilePath, String writerFilePath) { try ( FileReader fr = new FileReader(readFilePath); FileWriter fw = new FileWriter(writerFilePath.. 파일 출력 스트림 ( 문자 기반 스트림 ) 파일 출력 스트림 (문자 기반) 이란?파일 출력 스트림 (문자 기반)은 자바에서 텍스트 데이터를 파일에 쓰기 위해 사용되는 스트림이다. 가장 일반적으로 사용되는 클래스는 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.. 파일 출력 스트림 ( 바이트 기반 ) 버퍼를 사용하는 것은 입출력 작업에서 매우 중요한 역할을 하며, 그 원리는 이해하는 것은 데이터 처리의 효율성을 높이는데 큰 도움이 된다. 버퍼의 사용 원리는 기본적으로 '일괄 처리' 또는 '집단 처리' 방식에 비유할 수 있다. 버퍼의 기본 원리버퍼는 임시 저장 공간을 말하며, 데이터를 최종 목적지(파일, 네트워크, 디스플레이 등)에 쓰기 전에 일시적으로 데이터를 모아 두는 역할을 한다. 효율성 증가 : 작은 데이터 조각들을 바로 전송하거나 저장하는 대신 큰 덩어리로 모아서 한 번에 처리한다. 이 방식으 특히 입출력 연산이 자주 발생하는 상황에서 유용하며, 시스템의 입출력 호출 횟수를 줄여 전체적인 성능을 향상시킨다. 시스템 부하 감소 : 버퍼를 사용하면 데이터를 모아 두었다가 한 번에 처리하기 때문에 .. 이전 1 ··· 37 38 39 40 41 42 43 ··· 50 다음