Javaでバイト配列をファイルに変換する方法は?
byte[] objFileBytes, File objFile
ファイルオブジェクトには、ファイルのコンテンツが含まれていません。これは、ハードドライブ(またはSSD、USBドライブ、ネットワーク共有などの他のストレージメディア)上のファイルへのポインターにすぎません。だから私はあなたが望むのはそれをハードドライブに書き込むことだと思う。
Java APIのいくつかのクラスを使用してファイルを作成する必要があります
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(yourFile));
bos.write(fileBytes);
bos.flush();
bos.close();
OutputStreamの代わりにWriterを使用することもできます。ライターを使用すると、テキスト(String、char [])を書くことができます。
BufferedWriter bw = new BufferedWriter(new FileWriter(yourFile));
すべてをメモリに保持し、何も書きたくないと言ったので、ByteArrayInputStream
を使用しようとするかもしれません。これは、ほとんどのクラスに渡すことができるInputStreamをシミュレートします。
ByteArrayInputStream bais = new ByteArrayInputStream(yourBytes);
public void writeToFile(byte[] data, String fileName) throws IOException{
FileOutputStream out = new FileOutputStream(fileName);
out.write(data);
out.close();
}
FileOutputStreamを使用します。
FileOutputStream fos = new FileOutputStream(objFile);
fos.write(objFileBytes);
fos.close();
OK、あなたはそれを求めました:
File file = new File("myfile.txt");
// convert File to byte[]
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(file);
bos.close();
oos.close();
byte[] bytes = bos.toByteArray();
// convert byte[] to File
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bis);
File fileFromBytes = (File) ois.readObject();
bis.close();
ois.close();
System.out.println(fileFromBytes);
しかし、これは無意味です。何を達成しようとしているかを指定してください。
レンダリング方法PDF を参照してください。 PDFビューアで表示できます。