3

私は Java でファイル Comprimir をバイナリ ファイルにしています。問題は次のとおりです。合計サイズが 1 バイトしか占めない新しいファイルにバイトを書き込むにはどうすればよいですか? 私は次のことをしています:

FileOutputStream saveFile=new FileOutputStream("SaveObj3.sav");
        // Create an ObjectOutputStream to put objects into save file.
        ObjectOutputStream save = new ObjectOutputStream(saveFile);

        save.writeByte(0);


        save.close();
        saveFile.close();

それは、ファイルに1バイトだけ書き込む必要があるだけですが、サイズを見ると、7バイトを占めています。バイトのみを書き込む方法を知っている人はいますか? 他に良い方法はありますか?

4

3 に答える 3

3

使用しないでくださいObjectOutputStreamFileOutputStreamを直接使用します。

FileOutputStream out=new FileOutputStream("SaveObj3.sav");
out.write(0);
out.close();
于 2013-06-01T14:36:30.797 に答える
1

Java 7 で提供されている Files クラスを使用できます。予想以上に簡単です。

1 行で実行できます。

byte[] bytes = new String("message output to be written in file").getBytes();
Files.write(Paths.get("outputpath.txt"), bytes);

File クラスがある場合は、次のものを置き換えるだけです。

Paths.get("outputpath.txt")

に:

yourOutputFile.toPath()

必要に応じて 1 バイトだけを書き込むには、次のようにします。

Files.write(Paths.get("outputpath.txt"), new byte[1]);

in file properties:
size: 1 bytes
于 2014-06-01T02:45:19.457 に答える