[java] byte []를 Java로 파일로

자바로 :

나는이 byte[]파일을 나타냅니다합니다.

나는 파일이 쓰기 어떻게 (예. C:\myfile.pdf)

InputStream으로 완료되었다는 것을 알고 있지만 해결할 수없는 것 같습니다.



답변

사용 아파치 코 몬즈 IO

FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)

또는 자신을 위해 일하는 것을 고집한다면 …

try (FileOutputStream fos = new FileOutputStream("pathname")) {
   fos.write(myByteArray);
   //fos.close(); There is no more need for this line since you had created the instance of "fos" inside the try. And this will automatically close the OutputStream
}


답변

라이브러리가없는 경우 :

try (FileOutputStream stream = new FileOutputStream(path)) {
    stream.write(bytes);
}

구글 구아바 :

Files.write(bytes, new File(path));

아파치 코 몬즈 :

FileUtils.writeByteArrayToFile(new File(path), bytes);

이러한 모든 전략은 어느 시점에서 IOException을 잡아야합니다.


답변

다음을 사용하는 다른 솔루션 java.nio.file:

byte[] bytes = ...;
Path path = Paths.get("C:\\myfile.pdf");
Files.write(path, bytes);


답변

또한 Java 7부터 java.nio.file.Files가있는 한 줄 :

Files.write(new File(filePath).toPath(), data);

여기서 data는 바이트 []이고 filePath는 문자열입니다. StandardOpenOptions 클래스를 사용하여 여러 파일 열기 옵션을 추가 할 수도 있습니다. try / catch로 던지기 또는 서라운드를 추가하십시오.


답변

에서 자바 7 이후에는 사용할 수있는 시도 -과 – 자원 자원 누출 방지하고 코드를 읽기 쉽게하기 위해 문을. 더 자세한 내용은 여기참조하십시오 .

byteArray파일에 파일 을 쓰려면 다음을 수행하십시오.

try (FileOutputStream fos = new FileOutputStream("fullPathToFile")) {
    fos.write(byteArray);
} catch (IOException ioe) {
    ioe.printStackTrace();
}


답변

OutputStream좀 더 구체적으로 시도하십시오FileOutputStream


답변

InputStream으로 끝났음을 알고 있습니다.

실제로, 당신 은 파일 출력에 것입니다 …