Java의 파일에서 바이트 읽기

Sheeraz Gul 2023년10월12일
  1. FileInputStream을 사용하여 Java의 파일에서 바이트 읽기
  2. 파일 클래스 readAllBytes() 메서드를 사용하여 Java의 파일에서 바이트 읽기
  3. Apache Commons-IO를 사용하여 Java의 파일에서 바이트 읽기
Java의 파일에서 바이트 읽기

Java에는 파일에서 바이트를 읽거나 파일을 바이트 또는 바이트 배열로 변환하는 여러 가지 방법이 있습니다. 이 자습서는 Java에서 파일의 바이트를 읽는 다양한 방법을 보여줍니다.

FileInputStream을 사용하여 Java의 파일에서 바이트 읽기

FileInputStream은 바이트를 사용하여 주어진 파일에서 데이터를 읽을 수 있습니다. 이 클래스의 FileInputStream.read() 메서드를 사용하여 Java의 파일에서 바이트를 읽을 수 있습니다.

FileInputStream 클래스를 사용하여 파일에서 바이트를 읽으려면 아래 단계를 따르십시오.

  1. 먼저 FileInputStream 클래스의 인스턴스를 만듭니다.
  2. 이제 바이트 배열을 만듭니다. 길이는 입력 파일과 동일해야 합니다.
  3. read() 메서드를 사용하여 FileInputStream에서 바이트를 읽습니다.
  4. 바이트 배열을 인쇄합니다.
  5. 인스턴스를 닫습니다.

위의 단계를 기반으로 예제를 구현해 보겠습니다.

입력 파일은 서식 있는 텍스트 형식입니다.

Hi, This is delftstack.com! The Best tutorial site.

자바 구현:

package delftstack;

import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) throws IOException {
    File File_Path = new File("C:\\Users\\Sheeraz\\delftstack.rtf");
    // Instance of the FileInputStream
    FileInputStream File_Input_Stream = new FileInputStream(File_Path);

    // Create a byte array
    byte[] Demo_Array = new byte[(int) File_Path.length()];

    // Read file content to byte array
    File_Input_Stream.read(Demo_Array);

    // Close the instance
    File_Input_Stream.close();

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

위의 코드는 주어진 파일의 바이트를 배열로 읽습니다. 출력 참조:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115, 32, 100, 101,
 108, 102, 116, 115, 116, 97, 99, 107, 46, 99, 111, 109, 33, 32,
 84, 104, 101, 32, 66, 101, 115, 116, 32, 116, 117, 116, 111,
 114, 105, 97, 108, 32, 115, 105, 116, 101, 46]

파일 클래스 readAllBytes() 메서드를 사용하여 Java의 파일에서 바이트 읽기

readAllBytes() 메서드는 Java의 파일에서 모든 바이트를 읽습니다. Files 클래스를 사용하여 파일에서 바이트를 읽으려면 아래 단계를 따르십시오.

  1. Paths.get() 메서드를 사용하여 경로를 가져옵니다.
  2. Files.readAllBytes()를 사용하여 주어진 파일에서 바이트를 배열로 읽습니다.
  3. 바이트 배열을 인쇄합니다.

예를 참조하십시오.

package delftstack;

import java.io.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) throws IOException {
    // Create the path
    Path File_Path = Paths.get("C:\\Users\\Sheeraz\\delftstack.rtf");

    // Read Bytes
    byte[] Demo_Array = Files.readAllBytes(File_Path);

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

코드는 Files.readAllBytes() 메서드를 사용하여 주어진 파일에서 바이트를 읽습니다. 출력 참조:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115,
 32, 100, 101, 108, 102, 116, 115, 116, 97, 99, 107,
 46, 99, 111, 109, 33, 32, 84, 104, 101, 32, 66, 101,
 115, 116, 32, 116, 117, 116, 111, 114, 105, 97, 108,
 32, 115, 105, 116, 101, 46]

Apache Commons-IO를 사용하여 Java의 파일에서 바이트 읽기

Apache Commons-IO에는 Java의 파일에서 모든 바이트를 읽는 데 사용할 수 있는 FileUtils 패키지가 있습니다. Apache Commons-IO가 Java 환경에 추가되었는지 확인하십시오.

다음은 Apache Commons-IO에 대한 maven 종속성입니다. pom.xml에 추가하십시오.

<dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.7</version>
  </dependency>

Apache Commons-IO를 사용하여 파일에서 바이트를 읽으려면 아래 단계를 따르십시오.

  1. 주어진 경로로 File 클래스를 사용하여 파일을 만듭니다.
  2. 파일 이름을 입력으로 사용하여 FileUtils.readFileToByteArray()를 사용하여 바이트를 읽습니다.
  3. 바이트 배열을 인쇄합니다.

다음은 이 예제에 대한 Java 구현입니다.

package delftstack;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import org.apache.commons.io.FileUtils;

public class Example {
  public static void main(String[] args) throws IOException {
    // Create the path
    File Demo_File = new File("C:\\Users\\Sheeraz\\delftstack.rtf");

    // Read Bytes
    byte[] Demo_Array = FileUtils.readFileToByteArray(Demo_File);

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

코드는 Apache Commons-IO 라이브러리를 사용하여 주어진 파일에서 바이트를 읽습니다. 출력 참조:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115,
 32, 100, 101, 108, 102, 116, 115, 116, 97, 99, 107,
 46, 99, 111, 109, 33, 32, 84, 104, 101, 32, 66, 101,
 115, 116, 32, 116, 117, 116, 111, 114, 105, 97, 108,
 32, 115, 105, 116, 101, 46]
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - Java File