Java - byte[] 배열을 File에 저장

byte[] 배열을 파일에 저장하는 방법들은 다음과 같습니다.

  1. Files.write(), NIO
  2. FileOutputStream.write()
  3. FileUtils.writeByteArrayToFile(), Commons-io

1. Files.write(), NIO

NIO의 Files를 이용하여 byte 배열을 파일로 저장할 수 있습니다. 파일에 대한 Path 객체를 생성하여 Files.write()의 인자로 byte 배열과 함께 전달하면 됩니다.

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ConvertByteArrayToFile {

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

        String str = "Hello, World!";
        byte[] bytes = str.getBytes();

        Path path = Paths.get("/var/tmp/sample.txt");
        Files.write(path, bytes);
    }
}

Output:

$ cat /var/tmp/sample.txt
Hello, World!

2. FileOutputStream.write()

NIO를 사용할 수 없다면, FileOutputStream을 이용하여 byte 배열을 파일로 저장할 수 있습니다.

아래 예제는 try-with-resources를 사용하여 FileOutputStream를 사용합니다. try 구문 종료 시, 자동적으로 리소스(fd)가 해제됩니다.

import java.io.*;

public class ConvertByteArrayToFile {

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

        String str = "Hello, World!";
        byte[] bytes = str.getBytes();

        try (FileOutputStream fos = new FileOutputStream("/var/tmp/sample.txt")) {
            fos.write(bytes);
        }
    }
}

Output:

$ cat /var/tmp/sample.txt
Hello, World!

3. FileUtils.writeByteArrayToFile(), Commons-io

Apache의 Commons-io 라이브러리, FileUtils.writeByteArrayToFile()로 바이트 배열을 파일로 저장할 수 있습니다.

String str = "Hello, World!";
byte[] bytes = str.getBytes();

FileUtils.writeByteArrayToFile(new File("/var/tmp/sample.txt"), bytes);

References

Loading script...

Related Posts

codechachaCopyright ©2019 codechacha