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

Related Posts

codechachaCopyright ©2019 codechacha