> Java > java지도 시간 > 파일 입력/출력을 위한 Java 스트림 사용에 대한 팁

파일 입력/출력을 위한 Java 스트림 사용에 대한 팁

PHPz
풀어 주다: 2024-07-21 15:06:38
원래의
935명이 탐색했습니다.

Java 입출력이란 무엇인가요?

Java 입출력(I/O)은 입력을 처리하고 파일 형태로 출력을 생성하는 데 사용됩니다. Java는 빠른 I/O 작업을 허용하는 스트림 개념을 사용합니다.
java.io 패키지를 이용하면 모든 입출력 작업을 쉽게 수행할 수 있습니다.

입/출력을 사용하여 Java에서 파일 처리

스트림

스트림은 바이트로 구성된 데이터 시퀀스로 정의할 수 있습니다. 계속해서 흐르는 물의 흐름과 같다고 해서 시냇물이라고 불립니다. 스트림에는 두 가지 종류가 있습니다.

입력 스트림: 소스에서 데이터를 읽는 데 사용됩니다. 이는 파일, 배열, 주변 장치 또는 소켓일 수 있습니다.
출력 스트림: 대상에 데이터를 쓰는 데 사용됩니다. 이는 파일, 배열, 주변 장치 또는 소켓일 수 있습니다.
입력 스트림의 흐름은 아래에 설명되어 있습니다.

Image description

스트리밍할 바이트

Java 바이트 스트림은 8비트 바이트의 입출력을 수행하는 데 사용됩니다. 다음은 이 두 클래스를 사용하여 입력 파일을 출력 파일로 복사하는 예입니다. −

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class LearnStream {
    public static void main(String[] args) throws IOException {

       var directory = "D://sample/stream/";
       var fileInput = new FileInputStream(directory+"input.txt");
       var fileOutput = new FileOutputStream(directory+"output.txt");

       try{
           int i;
           while((i= fileInput.read())!=-1){
               fileOutput.write(i);
           }
       } catch (IOException e) {
           throw new RuntimeException(e);
       }

    }

}

로그인 후 복사

이제 다음 내용이 포함된 input.txt 파일을 만들어 보겠습니다

Dimas Priyandi
Software Developer
Java
Angular 
Spring Boot
로그인 후 복사
로그인 후 복사

프로그램을 실행하면 다음 내용이 포함된 이름이 output.txt인 파일을 얻습니다

Dimas Priyandi
Software Developer
Java
Angular 
Spring Boot
로그인 후 복사
로그인 후 복사

파일 입력 스트림과 파일 출력 스트림을 더 잘 이해하기 위해 count.txt라는 입력 파일이 있는 새 샘플을 만들어 보겠습니다.

count.txt의 내용은 다음과 같습니다.

100
90
80
70
60
50
40
30
20
10
0
로그인 후 복사

파일 입력 스트림이 count.txt 파일에서 숫자 데이터를 읽으면 이를 배열에 저장한 다음 합산 연산을 수행하여 데이터의 총합을 계산합니다. 아래 프로그램 코드를 따르십시오:

import java.io.*;

public class LeanCount {
    public static void main(String[] args) throws FileNotFoundException {
        var directory = "D://sample/stream/";
        var fileInput = new FileInputStream(directory+"count.txt");
        var fileOutput = new FileOutputStream(directory+"sum.txt");
        Integer sum = 0;
        try{
            var reader = new BufferedReader(new InputStreamReader(fileInput));
            var outputWriter = new BufferedWriter(new OutputStreamWriter(fileOutput));
            String line;
            while((line=reader.readLine()) !=null){
                sum+=Integer.parseInt(line);
            }
            reader.close();
            outputWriter.write(sum.toString());
            outputWriter.close();


        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }

    }



로그인 후 복사

출력:

  • sum.txt의 출력은 다음과 같습니다.
550
로그인 후 복사

설명:

  • FileInputStream: count.txt 파일에서 바이트를 읽는 데 사용됩니다.
  • InputStreamReader: FileInputStream이 읽은 바이트를 문자로 변환합니다.
  • BufferedReader: 파일을 한 줄씩 읽을 수 있는 readLine() 메서드를 제공합니다.
  • 숫자 배열: 파일에서 읽은 숫자를 저장하는 정수 배열입니다.
  • 합계 계산: 배열에 저장된 모든 숫자를 합산하는 루프입니다.
  • FileOutputStream: 파일에 바이트를 쓰는 데 사용됩니다.
  • OutputStreamWriter: 문자 스트림을 바이트 스트림으로 변환합니다.
  • BufferedWriter: 문자, 배열, 줄을 효율적으로 쓰기 위한 버퍼링을 제공합니다.

요약

Java의 I/O 스트림은 파일 작업을 처리하는 강력한 방법을 제공합니다. InputStream 및 OutputStream과 버퍼링된 해당 항목을 사용하면 효율적으로 파일을 읽고 쓸 수 있습니다.

위 내용은 파일 입력/출력을 위한 Java 스트림 사용에 대한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿