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

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

PHPz
PHPz원래의
2024-07-21 15:06:38903검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:홀수-짝수 LinkedList다음 기사:홀수-짝수 LinkedList