File I/O (python vs java)

혜쿰·2023년 10월 16일
0
post-thumbnail

📕 File I/O란?

파일 I/O(입출력)은 컴퓨터 프로그램이 데이터를 파일에서 읽어오거나 파일에 쓰는 작업을 수행하는 프로세스를 가리킨다. 파일 I/O는 컴퓨터에서 데이터의 영구적인 저장과 관리를 가능하게 하며, 프로그램이 데이터를 유지하고 다시 사용할 수 있도록 한다. 이것은 파일을 텍스트 또는 이진 형식으로 읽고 쓸 수 있게 해주며, 데이터베이스와 같은 영구 저장소에 접근할 수 없을 때 매우 유용하다.

파일 I/O는 다음과 같은 주요 개념과 작업을 포함한다.

  1. 파일: 파일은 데이터를 저장하는 물리적 또는 논리적인 단위이다. 파일은 텍스트 파일(인간이 읽을 수 있는 텍스트) 또는 이진 파일(바이너리 데이터)일 수 있다.

  2. 파일 열기: 파일 I/O 작업을 시작하려면 파일을 열어야 한다. 파일 열기는 읽기 모드(Read) 또는 쓰기 모드(Write)로 수행된다. 또한 파일을 추가 모드(Append)로 열어 기존 내용을 유지한 채 데이터를 추가할 수 있다.

  3. 파일 읽기: 열린 파일에서 데이터를 읽는다. 텍스트 파일의 경우 한 줄씩 또는 전체 내용을 읽을 수 있고, 이진 파일의 경우 바이트 단위로 읽을 수 있다.

  4. 파일 쓰기: 데이터를 파일에 쓰는 작업이다. 텍스트 또는 이진 데이터를 파일에 쓸 수 있다.

  5. 파일 닫기: 파일을 사용한 후에는 파일을 닫아야 한다. 파일을 닫는 것은 메모리 누수를 방지하고 다른 프로세스가 파일을 사용할 수 있도록 한다.

  6. 예외 처리: 파일 I/O 작업은 실패할 수 있으므로 예외 처리를 통해 오류를 처리해야 합니다. 파일을 열 때, 읽을 때, 쓸 때, 닫을 때 예외가 발생할 수 있다.

  7. 경로와 파일명: 파일을 찾기 위해 정확한 경로와 파일명을 지정해야 한다. 이것은 파일을 식별하는 주소 역할을 한다.

파일 I/O는 프로그래밍 언어에 따라 구현 방법이 다를 수 있지만, 기본적인 개념은 유사하다. 프로그램에서 파일을 다루는 데 필요한 파일 열기, 읽기, 쓰기 및 닫기 작업을 숙지하고 파일 I/O 작업을 안전하게 처리하는 것이 중요하다.

📕 python

파이썬에서의 파일 I/O

파이썬에서 파일 I/O는 내장된 파일 객체를 사용하여 수행된다.
주요 함수와 메서드에는 다음과 같다.

  1. open() 함수: 파일을 열고 파일 객체를 생성한다.
  2. read()write() 메서드: 파일에서 읽기 및 파일에 쓰기 작업을 수행한다.
  3. close() 메서드: 파일을 닫아 메모리 누수를 방지한다.

📎 예제

try:
	# 파일 읽기
    with open('파일경로', 'r') as file:
        data = file.read()
        print(data)
        
     print('파일저장')
    f2 = open(r'파일경로',mode='w',encoding='utf-8')
    f2.write('aaaa \n')
    f2.write('bbbb\n')
    f2.close()
    print('저장 성공')
    
    print('파일추가') # 파일없으면 파일 만들기
    f2 = open(r'파일경로',mode='a',encoding='utf-8')
    f2.write('a \n')
    f2.write('b \n')
    f2.write('c \n')
    f2.close()
    print('추가 성공')
    
    print('저장된 파일 읽기')
    f3 = open(r'파일경로',mode='r',encoding='utf-8')
    print(f3.readline())
    print(f3.readline(1),f3.readline(2)) # 한 행의 부분 문자 읽기
    lines = f3.readlines()
    print(lines) # 모든 행을 읽어 list 타입으로 저장 
    f3.close()
    
except IOError as e:
    print("파일을 읽을 수 없습니다:", e)

📕 java

자바에서의 파일 I/O

자바에서 파일 I/O는 java.io 패키지를 사용하여 수행된다.
주요 클래스 및 메서드에는 다음과 같다.

  1. File 클래스: 파일 및 디렉토리를 나타내는 객체를 생성하고 관리한다.
  2. FileInputStreamFileOutputStream: 이진 파일을 읽고 쓰기 위한 스트림 클래스이다.
  3. FileReaderFileWriter: 텍스트 파일을 읽고 쓰기 위한 스트림 클래스이다.
  4. BufferedReaderBufferedWriter: 버퍼링을 사용하여 파일에서 빠르게 읽고 쓸 수 있는 스트림 클래스이다.

📎 예제

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileIOExample {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("파일경로"));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

0개의 댓글