クラスObjectOutputStream
- ã™ã¹ã¦ã®å®Ÿè£…ã•れãŸã‚¤ãƒ³ã‚¿ãƒ•ェース:
Closeable,DataOutput,Flushable,ObjectOutput,ObjectStreamConstants,AutoCloseable
ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã‚ã‚‹ã®ã¯java.io.Serializableインタフェースをサãƒãƒ¼ãƒˆã™ã‚‹ã‚ªãƒ–ジェクトã ã‘ã§ã™ã€‚ å„直列化å¯èƒ½ã‚ªãƒ–ジェクトã®ã‚¯ãƒ©ã‚¹ã¯ã€ã‚¯ãƒ©ã‚¹ã®åå‰ã¨ã‚·ã‚°ãƒãƒãƒ£ã€ã‚ªãƒ–ジェクトã®ãƒ•ィールドã¨é…列ã€ãŠã‚ˆã³åˆæœŸã‚ªãƒ–ジェクトã‹ã‚‰å‚ç…§ã•れるã»ã‹ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã®ã‚¯ãƒãƒ¼ã‚¸ãƒ£ã‚’å«ã‚ã¦ã‚³ãƒ¼ãƒ‰åŒ–ã•れã¾ã™ã€‚
ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ã込むã«ã¯writeObjectメソッドを使ã„ã¾ã™ã€‚ Stringã‚„é…列をå«ã‚€ä»»æ„ã®ã‚ªãƒ–ジェクトãŒwriteObjectã«ã‚ˆã£ã¦æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ 複数ã®ã‚ªãƒ–ジェクトã¾ãŸã¯ãƒ—リミティブもã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã¸ã®æ›¸è¾¼ã¿ãŒå¯èƒ½ã§ã™ã€‚ オブジェクトをèªã¿è¾¼ã‚€ã¨ãã¯ã€å¯¾å¿œã™ã‚‹ObjectInputstreamã‹ã‚‰åŒã˜åž‹ã¨ã—ã¦ã€ã‹ã¤æ›¸ãè¾¼ã¾ã‚ŒãŸã¨ãã¨åŒã˜é †åºã§èªã¿è¾¼ã¾ãªã‘れã°ã„ã‘ã¾ã›ã‚“。
ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ãƒ»ãƒ‡ãƒ¼ã‚¿åž‹ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ã込むã«ã¯ã€DataOutputã®é©åˆ‡ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã„ã¾ã™ã€‚ Stringを書ãè¾¼ã‚€å ´åˆã¯writeUTFメソッドを使ã„ã¾ã™ã€‚
オブジェクトã®ãƒ‡ãƒ•ォルトã®ç›´åˆ—化メカニズムã¯ã€ã‚ªãƒ–ジェクトã®ã‚¯ãƒ©ã‚¹ã€ã‚¯ãƒ©ã‚¹ã®ã‚·ã‚°ãƒãƒãƒ£ã€ãŠã‚ˆã³ã™ã¹ã¦ã®éžtransientãŠã‚ˆã³éžstaticフィールドã®å€¤ã‚’書ãè¾¼ã¿ã¾ã™ã€‚ ã»ã‹ã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§(transientãŠã‚ˆã³staticフィールドã¯é™¤ã)ãŒã‚れã°ã€ã“れらã®ã‚ªãƒ–ジェクトも書ãè¾¼ã¾ã‚Œã¾ã™ã€‚ å˜ä¸€ã‚ªãƒ–ジェクトã¸ã®å¤šé‡å‚ç…§ã¯å‚照共有メカニズムã«ã‚ˆã‚Šã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•れã€ã‚ªãƒ–ジェクトã®ã‚°ãƒ©ãƒ•ã‚’ã€ã‚ªãƒªã‚¸ãƒŠãƒ«ãŒæ›¸ãè¾¼ã¾ã‚ŒãŸã¨ãã®å½¢çжã«å¾©å…ƒã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ãŸã¨ãˆã°ã€ObjectInputStreamã®ä¾‹ã§èªã¿å–ã‚‹ã“ã¨ãŒã§ãるオブジェクトを書ãè¾¼ã‚€å ´åˆ:
try (FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject("Today");
oos.writeObject(LocalDateTime.now());
} catch (Exception ex) {
// handle exception
}
直列化ãŠã‚ˆã³ç›´åˆ—化復元プãƒã‚»ã‚¹ä¸ã«ç‰¹åˆ¥ãªå‡¦ç†ã‚’å¿…è¦ã¨ã™ã‚‹ç›´åˆ—化å¯èƒ½ãªã‚¯ãƒ©ã‚¹ã¯ã€æ¬¡ã®ã‚·ã‚°ãƒãƒãƒ£ã‚’æŒã¤ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™:
private void readObject(java.io.ObjectInputStream stream)
throws IOException, ClassNotFoundException;
private void writeObject(java.io.ObjectOutputStream stream)
throws IOException;
private void readObjectNoData()
throws ObjectStreamException;
メソッドåã€ä¿®é£¾åã€æˆ»ã‚Šåž‹ã€ãŠã‚ˆã³ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ã®æ•°ã¨ã‚¿ã‚¤ãƒ—ã¯ã€ç›´åˆ—化ã¾ãŸã¯ç›´åˆ—化復元ã§ä½¿ç”¨ã•れるメソッドã¨å®Œå…¨ã«ä¸€è‡´ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ ã“れらã®ã‚·ã‚°ãƒãƒãƒ£ã¨ä¸€è‡´ã™ã‚‹ãƒã‚§ãƒƒã‚¯æ¸ˆä¾‹å¤–をスãƒãƒ¼ã™ã‚‹ãŸã‚ã«ã®ã¿ã€ãƒ¡ã‚½ãƒƒãƒ‰ã‚’宣言ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
writeObjectメソッドã¯ã€ãã®ç‰¹å®šã®ã‚¯ãƒ©ã‚¹ã®ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’æ›¸ã込んã§ã€å¯¾å¿œã™ã‚‹readObjectメソッドãŒã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’å¾©å…ƒã§ãるよã†ã«ã™ã‚‹å½¹å‰²ã‚’æ‹…ã„ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚ªãƒ–ジェクトã®ã‚¹ãƒ¼ãƒ‘ー・クラスやサブクラスã«å±žã™ã‚‹çŠ¶æ…‹ã«é–¢ä¸Žã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。 状態をä¿å˜ã™ã‚‹ã«ã¯ã€writeObjectメソッドを使ã£ã¦å€‹ã€…ã®ãƒ•ィールドをObjectOutputStreamã«æ›¸ã込むã‹ã€ã¾ãŸã¯DataOutputãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹ãƒ—リミティブ・データ型用ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使用ã—ã¾ã™ã€‚
直列化ã§ã¯ã€java.io.Serializableインタフェースを実装ã—ãªã„オブジェクトã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯æ›¸ãè¾¼ã¿ã¾ã›ã‚“。 直列化å¯èƒ½ã§ãªã„オブジェクトã®ã‚µãƒ–クラスを直列化å¯èƒ½ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®å ´åˆã€ç›´åˆ—化å¯èƒ½ã§ãªã„クラスã¯ã€ãã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’åˆæœŸåŒ–ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã€å¼•æ•°ãªã—ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’æŒã¤å¿…è¦ãŒã‚りã¾ã™ã€‚ ã“ã®å ´åˆã€ç›´åˆ—化å¯èƒ½ã§ãªã„クラスã®çŠ¶æ…‹ã‚’ä¿å˜ãŠã‚ˆã³å¾©å…ƒã™ã‚‹ã®ã¯ã€ã‚µãƒ–クラスã®è²¬ä»»ã«ãªã‚Šã¾ã™ã€‚ ãã®ã‚¯ãƒ©ã‚¹ã®ãƒ•ィールドãŒã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã‚ã‚‹(publicã€packageã€ã¾ãŸã¯protected)å ´åˆã€ã‚ã‚‹ã„ã¯çŠ¶æ…‹ã®å¾©å…ƒã«åˆ©ç”¨ã§ãã‚‹setメソッドやgetメソッドãŒã‚ã‚‹å ´åˆãŒã—ã°ã—ã°ã‚りã¾ã™ã€‚
writeObjectãŠã‚ˆã³readObjectメソッドã§NotSerializableExceptionをスãƒãƒ¼ã™ã‚‹ã‚ˆã†ã«å®Ÿè£…ã—ã¦ãŠãã¨ã€ã‚ªãƒ–ジェクトã®ç›´åˆ—化を防æ¢ã§ãã¾ã™ã€‚ 例外ãŒObjectOutputStreamã«ã‚ャッãƒã•れã€ç›´åˆ—化処ç†ãŒç•°å¸¸çµ‚了ã—ã¾ã™ã€‚
Externalizableインタフェースを実装ã™ã‚‹ã¨ã€ã‚ªãƒ–ジェクトã®ç›´åˆ—化ã•れãŸå½¢å¼ã®å†…容ãŠã‚ˆã³å½¢å¼ã‚’オブジェクトå´ãŒå®Œå…¨ã«åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ Externalizableインタフェースã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚ã‚‹writeExternalã¨readExternalã¯ã€ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’ä¿å˜ãŠã‚ˆã³å¾©å…ƒã™ã‚‹ãŸã‚ã«å‘¼ã³å‡ºã•れã¾ã™ã€‚ ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚¯ãƒ©ã‚¹ã«ã‚ˆã£ã¦å®Ÿè£…ã•れãŸå ´åˆã«ã¯ã€ObjectOutputã¨ObjectInputã®ã™ã¹ã¦ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦ã€è‡ªèº«ã®çŠ¶æ…‹ã®æ›¸ãè¾¼ã¿ãŠã‚ˆã³èªè¾¼ã¿ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ ã©ã®ã‚ˆã†ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã£ã¦ã‚‚処ç†ã§ãるよã†ã«ã™ã‚‹ã®ã¯ã€ã‚ªãƒ–ジェクトã®è²¬ä»»ã§ã™ã€‚
enum定数ã®ç›´åˆ—化ã¯ã€é€šå¸¸ã®ç›´åˆ—化å¯èƒ½ã¾ãŸã¯å¤–部化å¯èƒ½ã‚ªãƒ–ジェクトã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚ enum定数ã®ç›´åˆ—化ã•れãŸå½¢å¼ã‚’æ§‹æˆã™ã‚‹ã®ã¯ã€ãã®åå‰ã ã‘ã§ã™ã€‚定数ã®ãƒ•ィールド値ã¯è»¢é€ã•れã¾ã›ã‚“。 enum定数を直列化ã™ã‚‹ã«ã¯ã€ãã®å®šæ•°ã®nameメソッドã«ã‚ˆã£ã¦è¿”ã•れる文å—列をObjectOutputStreamã§æ›¸ãè¾¼ã¿ã¾ã™ã€‚ ä»–ã®ç›´åˆ—化å¯èƒ½ã¾ãŸã¯å¤–部化å¯èƒ½ã‚ªãƒ–ジェクトã¨åŒæ§˜ã«ã€enum定数ã¯ç›´åˆ—化ストリームã«ãã®å¾Œå‡ºç¾ã™ã‚‹å¾Œæ–¹å‚ç…§ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¨ã—ã¦æ©Ÿèƒ½ã§ãã¾ã™ã€‚ enum定数を直列化ã™ã‚‹ãƒ—ãƒã‚»ã‚¹ã‚’カスタマイズã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。enumåž‹ã§å®šç¾©ã•れãŸã€ã‚¯ãƒ©ã‚¹å›ºæœ‰ã®writeObjectメソッドãŠã‚ˆã³writeReplaceメソッドã¯ã€ç›´åˆ—化復元ã®é–“ã¯ç„¡è¦–ã•れã¾ã™ã€‚ åŒæ§˜ã«ã€serialPersistentFieldsã¾ãŸã¯serialVersionUIDã®ãƒ•ィールド宣言もã™ã¹ã¦ç„¡è¦–ã•れã¾ã™ã€‚ã™ã¹ã¦ã®enumåž‹ã¯0Lã§å›ºå®šã•れãŸserialVersionUIDã‚’æŒã¡ã¾ã™ã€‚
直列化å¯èƒ½ãƒ•ィールドãŠã‚ˆã³å¤–部化å¯èƒ½ãƒ‡ãƒ¼ã‚¿ã‚’除ãプリミティブ・データã¯ã€ãƒ–ãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã¨ã—ã¦ObjectOutputStreamã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ ブãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã¯ã€ãƒ˜ãƒƒãƒ€ãƒ¼ã¨ãƒ‡ãƒ¼ã‚¿ã§æ§‹æˆã•れã¾ã™ã€‚ ブãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã¯ã€ãƒžãƒ¼ã‚«ãƒ¼ãŠã‚ˆã³ãƒ˜ãƒƒãƒ€ãƒ¼ã«ç¶šããƒã‚¤ãƒˆæ•°ã§æ§‹æˆã•れã¾ã™ã€‚ 連続ã™ã‚‹ãƒ—ãƒªãƒŸãƒ†ã‚£ãƒ–ãƒ»ãƒ‡ãƒ¼ã‚¿ã®æ›¸è¾¼ã¿ã¯ã€1ã¤ã®ãƒ–ãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã«ãƒžãƒ¼ã‚¸ã•れã¾ã™ã€‚ ブãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã«ä½¿ç”¨ã•れるブãƒãƒƒã‚¯ä¿‚æ•°ã¯1024ãƒã‚¤ãƒˆã§ã™ã€‚ å„ブãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã¯ã€1024ãƒã‚¤ãƒˆã¾ã§åŸ‹ã‚è¾¼ã¾ã‚Œã‚‹ã‹ã€ãƒ–ãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¢ãƒ¼ãƒ‰ã®çµ‚了ã¾ã§æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ ObjectOutputStreamã®ãƒ¡ã‚½ãƒƒãƒ‰writeObjectã€defaultWriteObjectã€ãŠã‚ˆã³writeFieldsを呼ã³å‡ºã™ã¨ã€æœ€åˆã«æ—¢å˜ã®ãƒ–ãƒãƒƒã‚¯ãƒ»ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ãŒçµ‚了ã•れã¾ã™ã€‚
レコードã®ç›´åˆ—化ã¯ã€é€šå¸¸ã®ç›´åˆ—化å¯èƒ½ã‚ªãƒ–ジェクトã¾ãŸã¯å¤–部化å¯èƒ½ã‚ªãƒ–ジェクトã¨ã¯ç•°ãªã‚Šã¾ã™ã€‚「レコード直列化ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.1
- 外部仕様
- é–¢é€£é …ç›®:
-
ãƒã‚¹ãƒˆã•れãŸã‚¯ãƒ©ã‚¹ã®ã‚µãƒžãƒªãƒ¼
ãƒã‚¹ãƒˆã•れãŸã‚¯ãƒ©ã‚¹ä¿®é£¾åã¨åž‹ã‚¯ãƒ©ã‚¹èª¬æ˜Žstatic classObjectOutputã«æ›¸ãè¾¼ã¾ã‚Œã‚‹æŒç¶šãƒ•ィールドã¸ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«ã‚ˆã‚‹ã‚¢ã‚¯ã‚»ã‚¹ã‚’æä¾›ã—ã¾ã™ã€‚ -
フィールドã®ã‚µãƒžãƒªãƒ¼
インタフェースjava.io.ObjectStreamConstantsã§å®£è¨€ã•れã¦ã„るフィールド
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING -
コンストラクタã®ã‚µãƒžãƒªãƒ¼
コンストラクタ修飾åコンストラクタ説明protectedObjectOutputStreamを完全ã«å®Ÿè£…ã—ç›´ã™ã‚µãƒ–クラスãŒã€ObjectOutputStreamã®ã“ã®å®Ÿè£…ã«ã‚ˆã£ã¦ä½¿ç”¨ã•れãŸã°ã‹ã‚Šã®privateデータを割り当ã¦ã‚‹å¿…è¦ãŒãªã„よã†ã«ã™ã‚‹æ‰‹æ®µã‚’æä¾›ã—ã¾ã™ã€‚指定ã•れãŸOutputStreamã«æ›¸ã込むObjectOutputStreamを作æˆã—ã¾ã™ã€‚ -
メソッドã®ã‚µãƒžãƒªãƒ¼
修飾åã¨åž‹ãƒ¡ã‚½ãƒƒãƒ‰èª¬æ˜Žprotected voidannotateClass(Class<?> cl) サブクラスã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã€ã‚¯ãƒ©ã‚¹ã®ãƒ‡ãƒ¼ã‚¿ã‚’ストリームã«ä¿å˜ã§ãるよã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚protected voidannotateProxyClass(Class<?> cl) サブクラスã¯ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã€ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ»ãƒ—ãƒã‚シ・クラスã«å¯¾ã™ã‚‹è¨˜è¿°åã¨ã¨ã‚‚ã«ã‚«ã‚¹ã‚¿ãƒ ãƒ»ãƒ‡ãƒ¼ã‚¿ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ ¼ç´ã—ã¾ã™ã€‚voidclose()ストリームを閉ã˜ã¾ã™ã€‚voidç¾åœ¨ã®ã‚¯ãƒ©ã‚¹ã®éžstaticãŠã‚ˆã³éžtransientã®ãƒ•ィールドをã€ã“ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚protected voiddrain()ObjectOutputStream内ã®ãƒãƒƒãƒ•ァリングã•れã¦ã„るデータをã™ã¹ã¦æŽ’出ã—ã¾ã™ã€‚protected booleanenableReplaceObject(boolean enable) ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚ŒãŸã‚ªãƒ–ジェクトã®ç½®æ›ã‚’ストリームã§å®Ÿè¡Œã§ãるよã†ã«ã—ã¾ã™ã€‚voidflush()ストリームをフラッシュã—ã¾ã™ã€‚ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹æŒç¶šãƒ•ィールドをãƒãƒƒãƒ•ã‚¡ã«æ ¼ç´ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れるオブジェクトをå–å¾—ã—ã¾ã™ã€‚protected ObjectreplaceObject(Object obj) ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ç›´åˆ—化ã®éš›ã«ã€ObjectOutputStreamã®ä¿¡é ¼ã§ãるサブクラスãŒã€ã‚るオブジェクトをã»ã‹ã®ã‚ªãƒ–ジェクトã«ç½®æ›ã§ãるよã†ã«ã—ã¾ã™ã€‚voidreset()Resetã¯ã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«ã™ã§ã«æ›¸ãè¾¼ã¾ã‚Œã¦ã„るオブジェクトã®çŠ¶æ…‹ã‚’ç„¡åŠ¹ã«ã—ã¾ã™ã€‚voiduseProtocolVersion(int version) ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿æ™‚ã«ä½¿ç”¨ã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ・プãƒãƒˆã‚³ãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’指定ã—ã¾ã™ã€‚voidwrite(byte[] buf) ãƒã‚¤ãƒˆé…列を書ãè¾¼ã¿ã¾ã™ã€‚voidwrite(byte[] buf, int off, int len) ãƒã‚¤ãƒˆé…列ã®ä¸€éƒ¨ã‚’書ãè¾¼ã¿ã¾ã™ã€‚voidwrite(int val) ãƒã‚¤ãƒˆã‚’書ãè¾¼ã¿ã¾ã™ã€‚voidwriteBoolean(boolean val) booleanを書ãè¾¼ã¿ã¾ã™ã€‚voidwriteByte(int val) 8ビットbyteを書ãè¾¼ã¿ã¾ã™ã€‚voidwriteBytes(String str) Stringã‚’ãƒã‚¤ãƒˆã®åˆ—ã¨ã—ã¦æ›¸ãè¾¼ã¿ã¾ã™ã€‚voidwriteChar(int val) 16ビットcharを書ãè¾¼ã¿ã¾ã™ã€‚voidwriteChars(String str) Stringã‚’charã®åˆ—ã¨ã—ã¦æ›¸ãè¾¼ã¿ã¾ã™ã€‚protected void指定ã•れãŸã‚¯ãƒ©ã‚¹è¨˜è¿°åã‚’ObjectOutputStreamã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚voidwriteDouble(double val) 64ビットdoubleを書ãè¾¼ã¿ã¾ã™ã€‚voidãƒãƒƒãƒ•ã‚¡ã«æ ¼ç´ã•れãŸãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚voidwriteFloat(float val) 32ビットfloatを書ãè¾¼ã¿ã¾ã™ã€‚voidwriteInt(int val) 32ビットintを書ãè¾¼ã¿ã¾ã™ã€‚voidwriteLong(long val) 64ビットã®longを書ãè¾¼ã¿ã¾ã™ã€‚final voidwriteObject(Object obj) 指定ã•れãŸã‚ªãƒ–ジェクトをObjectOutputStreamã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚protected voidサブクラスãŒãƒ‡ãƒ•ォルトã®writeObjectメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚voidwriteShort(int val) 16ビットshortを書ãè¾¼ã¿ã¾ã™ã€‚protected voidサブクラスãŒè‡ªèº«ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’ストリームã®å‰ã¾ãŸã¯å¾Œã‚ã«è¿½åŠ ã§ãるよã†ã«æä¾›ã•れã¦ã„ã¾ã™ã€‚voidwriteUnshared(Object obj) ObjectOutputStreamã«ã€Œå…±æœ‰ã•れãªã„ã€ã‚ªãƒ–ジェクトを書ãè¾¼ã¿ã¾ã™ã€‚voidã“ã®Stringã®ãƒ—リミティブ・データを修æ£UTF-8å½¢å¼ã§æ›¸ãè¾¼ã¿ã¾ã™ã€‚クラスjava.io.OutputStreamã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
nullOutputStream
-
コンストラクタã®è©³ç´°
-
ObjectOutputStream
public ObjectOutputStream(OutputStream out) throws IOException 指定ã•れãŸOutputStreamã«æ›¸ã込むObjectOutputStreamを作æˆã—ã¾ã™ã€‚ ã“ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€ç›´åˆ—化ストリーム・ヘッダーをベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ã“ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã¯å‘¼å‡ºã—å´ã§ãŸã ã¡ã«ãƒ•ラッシュã—ã¦ãã ã•ã„。ObjectInputStreamsã‚’å—ã‘å–ã£ãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’èªã¿è¾¼ã‚€ã¨ãã«ãƒ–ãƒãƒƒã‚¯ã™ã‚‹ãŸã‚ã§ã™ã€‚- パラメータ:
out- 書込ã¿å…ˆã®å‡ºåŠ›ã‚¹ãƒˆãƒªãƒ¼ãƒ- スãƒãƒ¼:
IOException- ã‚¹ãƒˆãƒªãƒ¼ãƒ ãƒ»ãƒ˜ãƒƒãƒ€ãƒ¼ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆNullPointerException-outãŒnullã§ã‚ã‚‹å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.4
- é–¢é€£é …ç›®:
-
ObjectOutputStream
protected ObjectOutputStream() throws IOExceptionObjectOutputStreamを完全ã«å®Ÿè£…ã—ç›´ã™ã‚µãƒ–クラスãŒã€ObjectOutputStreamã®ã“ã®å®Ÿè£…ã«ã‚ˆã£ã¦ä½¿ç”¨ã•れãŸã°ã‹ã‚Šã®privateデータを割り当ã¦ã‚‹å¿…è¦ãŒãªã„よã†ã«ã™ã‚‹æ‰‹æ®µã‚’æä¾›ã—ã¾ã™ã€‚- スãƒãƒ¼:
IOException- ã“ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ä½œæˆä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
-
メソッドã®è©³ç´°
-
useProtocolVersion
public void useProtocolVersion(int version) throws IOException ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿æ™‚ã«ä½¿ç”¨ã™ã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ・プãƒãƒˆã‚³ãƒ«ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’指定ã—ã¾ã™ã€‚ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯ã€ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ç›´åˆ—化ãŒã€å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ å½¢å¼ã¨ä¸‹ä½äº’æ›æ€§ã®ã‚ã‚‹å½¢å¼ã§æ›¸ãè¾¼ã‚るよã†ã«ã™ã‚‹ãƒ•ックをæä¾›ã—ã¾ã™ã€‚
下ä½äº’æ›æ€§ã®ãªã„å½¢å¼ãŒã•らã«å°Žå…¥ã•れるã®ã‚’防ããŸã‚ã«ã‚らゆる努力ãŒè¡Œã‚れã¾ã™ãŒã€é¸æŠžã®ä½™åœ°ã®ãªã„å ´åˆã‚‚ã‚りã¾ã™ã€‚
- パラメータ:
version- java.io.ObjectStreamConstantsã‹ã‚‰ProtocolVersionを使用。- スãƒãƒ¼:
IllegalStateException- オブジェクトãŒç›´åˆ—化ã•れãŸã‚ã¨ã«å‘¼ã³å‡ºã•れãŸå ´åˆã€‚IllegalArgumentException- 渡ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒç„¡åйãªå ´åˆã€‚IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.2
- é–¢é€£é …ç›®:
-
writeObject
public final void writeObject(Object obj) throws IOException 指定ã•れãŸã‚ªãƒ–ジェクトをObjectOutputStreamã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ オブジェクトã®ã‚¯ãƒ©ã‚¹ã€ã‚¯ãƒ©ã‚¹ã®ã‚·ã‚°ãƒãƒãƒ£ã€ã‚¯ãƒ©ã‚¹ã®éžtransientフィールドãŠã‚ˆã³éžstaticフィールドã®å€¤ã¨ãã®ã™ã¹ã¦ã®ã‚¹ãƒ¼ãƒ‘ãƒ¼ãƒ»ã‚¿ã‚¤ãƒ—ãŒæ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ ã‚るクラスã«ã¤ã„ã¦ãƒ‡ãƒ•ォルトã®ç›´åˆ—化ã¯ã€writeObjectメソッドã¨readObjectメソッドを使ã£ã¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®ã‚ªãƒ–ジェクトã«ã‚ˆã£ã¦å‚ç…§ã•れるオブジェクトã¯ä¸é–“çš„ã«æ›¸ãè¾¼ã¾ã‚Œã€ãれã«ã‚ˆã£ã¦ã€å®Œå…¨ã«åŒç‰ãªã‚ªãƒ–ジェクト・グラフãŒObjectInputStreamã«ã‚ˆã£ã¦å†æ§‹ç¯‰ã•れã¾ã™ã€‚例外ã¯ã€OutputStreamã«é–¢ã™ã‚‹å•題やã€ç›´åˆ—化ã™ã¹ãã§ã¯ãªã„クラスã«ã¤ã„ã¦ã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚ ã™ã¹ã¦ã®ä¾‹å¤–ã¯ã€OutputStreamã«ã¨ã£ã¦è‡´å‘½çš„ã§ã€OutputStreamã‚’ä¸ç¢ºå®šãªçŠ¶æ…‹ã«ã—ã¾ã™ã€‚ストリームã®çŠ¶æ…‹ã‚’ç„¡è¦–ã™ã‚‹ã‹å›žå¾©å‡¦ç†ã™ã‚‹ã‹ã‚’決ã‚ã‚‹ã®ã¯å‘¼å‡ºã—å´ã§ã™ã€‚
- 定義:
writeObjectã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- パラメータ:
obj- 書ãè¾¼ã¾ã‚Œã‚‹ã‚ªãƒ–ジェクト- スãƒãƒ¼:
InvalidClassException- 直列化ã§ä½¿ç”¨ã•れるクラスã«ãªã‚“らã‹ã®ä¸å…·åˆãŒã‚ã£ãŸå ´åˆã€‚NotSerializableException- 直列化ã®å¯¾è±¡ã‚ªãƒ–ジェクトãŒjava.io.Serializableインタフェースを実装ã—ã¦ã„ãªã„å ´åˆã€‚IOException- ベースã¨ãªã‚‹OutputStreamãŒä¾‹å¤–をスãƒãƒ¼ã—ãŸå ´åˆã€‚
-
writeObjectOverride
protected void writeObjectOverride(Object obj) throws IOException サブクラスãŒãƒ‡ãƒ•ォルトã®writeObjectメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å¼•æ•°ãªã—ã®protectedコンストラクタを使用ã—ã¦ã€ObjectOutputStreamを構築ã—ãŸObjectOutputStreamã®ä¿¡é ¼ã§ãるサブクラスã«ã‚ˆã£ã¦å‘¼ã³å‡ºã•れã¾ã™ã€‚ サブクラスã¯ã€ä¿®é£¾åãŒfinalã®ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ãƒ»ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã™ã‚‹ã¨ã¿ãªã•れã¾ã™ã€‚- パラメータ:
obj- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹ã‚ªãƒ–ジェクト- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.2
- é–¢é€£é …ç›®:
-
defaultWriteObject
public void defaultWriteObject() throws IOExceptionç¾åœ¨ã®ã‚¯ãƒ©ã‚¹ã®éžstaticãŠã‚ˆã³éžtransientã®ãƒ•ィールドをã€ã“ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ãŒã§ãã‚‹ã®ã¯ã€ç›´åˆ—化ãŒè¡Œã‚れã¦ã„るクラスã®writeObjectメソッドã ã‘ã§ã™ã€‚ åˆ¥ã®æ–¹æ³•ã§å‘¼ã³å‡ºã•れãŸå ´åˆã¯NotActiveExceptionをスãƒãƒ¼ã—ã¾ã™ã€‚- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹OutputStreamã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
putFields
public ObjectOutputStream.PutField putFields() throws IOExceptionã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹æŒç¶šãƒ•ィールドをãƒãƒƒãƒ•ã‚¡ã«æ ¼ç´ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れるオブジェクトをå–å¾—ã—ã¾ã™ã€‚ フィールドã¯ã€writeFieldsメソッドãŒå‘¼ã³å‡ºã•れãŸã¨ãã«ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚- 戻り値:
- 直列化å¯èƒ½ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ä¿æŒã—ã¦ã„るクラスPutfieldã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹
- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.2
-
writeFields
public void writeFields() throws IOExceptionãƒãƒƒãƒ•ã‚¡ã«æ ¼ç´ã•れãŸãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆNotActiveException- オブジェクトã®çŠ¶æ…‹ã‚’æ›¸ã込むãŸã‚ã«ã‚¯ãƒ©ã‚¹ã®writeObjectメソッドãŒå‘¼ã³å‡ºã•れãªã‹ã£ãŸã¨ãã«å‘¼ã³å‡ºã•れãŸå ´åˆã€‚- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.2
-
reset
public void reset() throws IOExceptionResetã¯ã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«ã™ã§ã«æ›¸ãè¾¼ã¾ã‚Œã¦ã„るオブジェクトã®çŠ¶æ…‹ã‚’ç„¡åŠ¹ã«ã—ã¾ã™ã€‚ æ–°ã—ã„ObjectOutputStreamã¨åŒã˜çŠ¶æ…‹ã«ãƒªã‚»ãƒƒãƒˆã•れã¾ã™ã€‚ ストリームã®ç¾åœ¨ä½ç½®ã«ãƒžãƒ¼ã‚¯ãŒè¨å®šã•れã€å¯¾å¿œã™ã‚‹ObjectInputStreamã‚‚åŒã˜ä½ç½®ã«ãƒªã‚»ãƒƒãƒˆã•れã¾ã™ã€‚ 以å‰ã«ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚ŒãŸã‚ªãƒ–ジェクトã¯ã€ã™ã§ã«ã‚¹ãƒˆãƒªãƒ¼ãƒ 内ã«ã‚ã‚‹ã¨ã¯è§£é‡ˆã•れã¾ã›ã‚“。 ã“れらã®ã‚ªãƒ–ジェクトã¯ã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«å†åº¦æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚- スãƒãƒ¼:
IOException- オブジェクトを直列化ä¸ã«reset()ãŒå‘¼ã³å‡ºã•れãŸå ´åˆã€‚
-
annotateClass
protected void annotateClass(Class<?> cl) throws IOException サブクラスã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã€ã‚¯ãƒ©ã‚¹ã®ãƒ‡ãƒ¼ã‚¿ã‚’ストリームã«ä¿å˜ã§ãるよã†ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ デフォルトã§ã¯ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä½•も行ã„ã¾ã›ã‚“。 ObjectInputStream内ã§å¯¾å¿œã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã¯resolveClassã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ä¸€æ„ã®ã‚¯ãƒ©ã‚¹ãれãžã‚Œã«ã¤ã„ã¦1回ã ã‘呼ã³å‡ºã•れã¾ã™ã€‚ ãã®æ™‚点ã§ã‚¯ãƒ©ã‚¹åã¨ã‚·ã‚°ãƒãƒãƒ£ã¯ã™ã§ã«ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ObjectOutputStreamを自由ã«ä½¿ã£ã¦ã€é©åˆ‡ã¨åˆ¤æ–ã—ãŸã‚¯ãƒ©ã‚¹ã®ä»»æ„ã®è¡¨ç¾(クラス・ファイルã®ãƒã‚¤ãƒˆãªã©)ã‚’ä¿å˜ã§ãã¾ã™ã€‚ ObjectInputStreamã®å¯¾å¿œã™ã‚‹ã‚µãƒ–クラスã®resolveClassメソッドã¯ã€annotateClassã«ã‚ˆã£ã¦æ›¸ãè¾¼ã¾ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã‚„オブジェクトをèªã¿è¾¼ã¿ã€ä½¿ç”¨ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“。- パラメータ:
cl- ã‚«ã‚¹ã‚¿ãƒ ãƒ»ãƒ‡ãƒ¼ã‚¿ã«æ³¨é‡ˆã‚’付ã‘るクラス- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹OutputStreamãŒä¾‹å¤–をスãƒãƒ¼ã—ãŸå ´åˆã€‚
-
annotateProxyClass
protected void annotateProxyClass(Class<?> cl) throws IOException サブクラスã¯ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã€ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ»ãƒ—ãƒã‚シ・クラスã«å¯¾ã™ã‚‹è¨˜è¿°åã¨ã¨ã‚‚ã«ã‚«ã‚¹ã‚¿ãƒ ãƒ»ãƒ‡ãƒ¼ã‚¿ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ ¼ç´ã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ä¸€æ„ã®å„プãƒã‚シ・クラス記述åã«ã¤ã„ã¦1回ã ã‘呼ã³å‡ºã•れã¾ã™ã€‚
ObjectOutputStream内ã®ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ãƒ‡ãƒ•ォルト実装ã¯ã€ä½•も実行ã—ã¾ã›ã‚“。ObjectInputStream内ã§å¯¾å¿œã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã¯resolveProxyClassã§ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ObjectOutputStreamã®æŒ‡å®šã•れãŸã‚µãƒ–クラスã«ã¤ã„ã¦ã¯ã€ObjectInputStream内ã®å¯¾å¿œã™ã‚‹ã‚µãƒ–クラスã®resolveProxyClassメソッドãŒã€annotateProxyClassãŒæ›¸ã込むデータã¾ãŸã¯ã‚ªãƒ–ジェクトをã™ã¹ã¦èªã¿å–ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚- パラメータ:
cl- ã‚«ã‚¹ã‚¿ãƒ ãƒ»ãƒ‡ãƒ¼ã‚¿ã«æ³¨é‡ˆã‚’付ã‘るプãƒã‚シ・クラス- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹OutputStreamãŒä¾‹å¤–をスãƒãƒ¼ã—ãŸå ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.3
- é–¢é€£é …ç›®:
-
replaceObject
protected Object replaceObject(Object obj) throws IOException ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ç›´åˆ—化ã®éš›ã«ã€ObjectOutputStreamã®ä¿¡é ¼ã§ãるサブクラスãŒã€ã‚るオブジェクトをã»ã‹ã®ã‚ªãƒ–ジェクトã«ç½®æ›ã§ãるよã†ã«ã—ã¾ã™ã€‚ オブジェクトã®ç½®æ›ã¯ã€enableReplaceObjectãŒå‘¼ã³å‡ºã•れるã¾ã§ã¯è¡Œãˆã¾ã›ã‚“。 enableReplaceObjectメソッドã¯ã€ã‚ªãƒ–ジェクトã®ç½®æ›ã‚’è¦æ±‚ã—ã¦ã„るストリームãŒä¿¡é ¼ã§ãã‚‹ã‹ã©ã†ã‹ã‚’調ã¹ã¾ã™ã€‚ ç›´åˆ—åŒ–ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹å„オブジェクトã®ã†ã¡æœ€åˆã«å‡ºç¾ã—ãŸã‚‚ã®ã¯ã€replaceObjectã«æ¸¡ã•れã¾ã™ã€‚ ãれ以é™ã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ã¯ã€replaceObjectã®å…ƒã®å‘¼å‡ºã—ã«ã‚ˆã£ã¦è¿”ã•れãŸã‚ªãƒ–ジェクトã«ã‚ˆã£ã¦ç½®æ›ã•れã¾ã™ã€‚ オブジェクトã®privateçŠ¶æ…‹ãŒæ„図ã›ãšã«å…¬é–‹ã•れるã“ã¨ãŒãªã„よã†ã«ã€replaceObjectを使ã†ã®ã¯ä¿¡é ¼ã§ãるストリームã«é™å®šã•れã¾ã™ã€‚ObjectOutputStream.writeObjectメソッドã¯Objectタイプã®ãƒ‘ラメータ(Serializableタイプã¨ã¯ç•°ãªã‚‹)ã‚’å–りã€ç›´åˆ—化å¯èƒ½ã§ãªã„オブジェクトãŒç›´åˆ—化å¯èƒ½ã‚ªãƒ–ジェクトã«ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
サブクラスãŒã‚ªãƒ–ジェクトを置æ›ã™ã‚‹å ´åˆã€ç›´åˆ—化復元ä¸ã«è£œå®Œç½®æ›ã‚’行ã†ã‹ã€ã¾ãŸã¯ç½®æ›ã•れãŸã‚ªãƒ–ジェクトãŒå‚ç…§ãŒæ ¼ç´ã•れるã™ã¹ã¦ã®ãƒ•ィールドã¨äº’æ›æ€§ãŒã‚ã‚‹ã“ã¨ã‚’確èªã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ フィールドã¾ãŸã¯é…列è¦ç´ ã®åž‹ã®ã‚µãƒ–クラスã§ã¯ãªã„åž‹ã®ã‚ªãƒ–ジェクトã¯ã€ä¾‹å¤–を発生ã•ã›ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ç›´åˆ—åŒ–ã‚’ä¸æ–ã—ã€ãã®çµæžœã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã¯æ ¼ç´ã•れã¾ã›ã‚“。
ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€å„ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœ€åˆã«æ¤œå‡ºã•れãŸã¨ãã«1回ã ã‘呼ã³å‡ºã•れã¾ã™ã€‚ ã“れ以後検出ã•れるãã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ã¯ã€æ–°ã—ã„オブジェクトã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ç½®æ›ã•れるオブジェクトã¾ãŸã¯å…ƒã®ã‚ªãƒ–ジェクトを返ã™ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
Nullã¯ã€ç½®æ›ã™ã‚‹ã‚ªãƒ–ジェクトã¨ã—ã¦è¿”ã™ã“ã¨ãŒã§ãã¾ã™ãŒã€nullã®ã‹ã‚りã«ã‚ªãƒ–ジェクトãŒå¿…è¦ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€å…ƒã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ã‚’å«ã‚€ã‚¯ãƒ©ã‚¹ã§
NullPointerExceptionãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚- パラメータ:
obj- ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ã‚ªãƒ–ジェクト- 戻り値:
- 指定ã•れãŸã‚ªãƒ–ジェクトã¨ç½®ãæ›ãˆã‚‰ã‚ŒãŸä»£æ›¿ã‚ªãƒ–ジェクト
- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹OutputStreamãŒä¾‹å¤–をスãƒãƒ¼ã—ãŸå ´åˆã€‚
-
enableReplaceObject
protected boolean enableReplaceObject(boolean enable) ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚ŒãŸã‚ªãƒ–ジェクトã®ç½®æ›ã‚’ストリームã§å®Ÿè¡Œã§ãるよã†ã«ã—ã¾ã™ã€‚ 有効ã«ã™ã‚‹ã¨ã€ç›´åˆ—化ã•れるã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦replaceObject(java.lang.Object)メソッドãŒã‚³ãƒ¼ãƒ«ã•れã¾ã™ã€‚- パラメータ:
enable- 直列化ã•れるã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦replaceObjectã®ä½¿ç”¨ã‚’有効ã«ã™ã‚‹å ´åˆã¯true- 戻り値:
- ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒå‘¼ã³å‡ºã•れるå‰ã®è¨å®š
-
writeStreamHeader
protected void writeStreamHeader() throws IOExceptionサブクラスãŒè‡ªèº«ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’ストリームã®å‰ã¾ãŸã¯å¾Œã‚ã«è¿½åŠ ã§ãるよã†ã«æä¾›ã•れã¦ã„ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒžã‚¸ãƒƒã‚¯ç•ªå·ã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeClassDescriptor
protected void writeClassDescriptor(ObjectStreamClass desc) throws IOException 指定ã•れãŸã‚¯ãƒ©ã‚¹è¨˜è¿°åã‚’ObjectOutputStreamã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ クラス記述åã¯ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚ŒãŸã‚ªãƒ–ジェクトã®ã‚¯ãƒ©ã‚¹ã‚’è˜åˆ¥ã™ã‚‹éš›ã«ä½¿ç”¨ã—ã¾ã™ã€‚ ObjectOutputStreamã®ã‚µãƒ–クラスã§ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ç›´åˆ—化ストリームã«ã‚¯ãƒ©ã‚¹è¨˜è¿°åを書ã込む方法をカスタマイズã§ãã¾ã™ã€‚ ObjectInputStreamã®å¯¾å¿œã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰readClassDescriptorをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã€ã‚¯ãƒ©ã‚¹è¨˜è¿°åã‚’ãã®ã‚«ã‚¹ã‚¿ãƒ ・ストリーム表ç¾ã‹ã‚‰å†æ§‹æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ デフォルトã§ã¯ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ŒJavaオブジェクト直列化仕様ã€ã§å®šç¾©ã•れãŸå½¢å¼ã«å¾“ã£ã¦ã‚¯ãƒ©ã‚¹è¨˜è¿°åを書ãè¾¼ã¿ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã“ã¨ãŒã§ãã‚‹ã®ã¯ã€ObjectOutputStreamã®
useProtocolVersionメソッドを呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦è¨å®šã•れるå¤ã„直列化ストリーム形å¼ã‚’ObjectOutputStreamãŒä½¿ç”¨ã—ã¦ã„ãªã„å ´åˆã®ã¿ã§ã‚ã‚‹ç‚¹ã«æ³¨æ„ã—ã¦ãã ã•ã„。 ã“ã®ç›´åˆ—化ストリームãŒå¤ã„å½¢å¼(PROTOCOL_VERSION_1)を使用ã—ã¦ã„ã‚‹å ´åˆã€ã‚¯ãƒ©ã‚¹è¨˜è¿°åã¯ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºãŒä¸å¯èƒ½ãªæ–¹æ³•ã§å†…éƒ¨çš„ã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚- パラメータ:
desc- ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ã込むクラス記述å- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.3
- 外部仕様
- é–¢é€£é …ç›®:
-
write
public void write(int val) throws IOException ãƒã‚¤ãƒˆã‚’書ãè¾¼ã¿ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒã‚¤ãƒˆãŒå®Ÿéš›ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹ã¾ã§ãƒ–ãƒãƒƒã‚¯ã—ã¾ã™ã€‚- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- 定義:
writeã€ã‚¯ãƒ©ã‚¹OutputStream- パラメータ:
val- ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹ãƒã‚¤ãƒˆ- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚
-
write
public void write(byte[] buf) throws IOException ãƒã‚¤ãƒˆé…列を書ãè¾¼ã¿ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãƒã‚¤ãƒˆãŒå®Ÿéš›ã«æ›¸ãè¾¼ã¾ã‚Œã‚‹ã¾ã§ãƒ–ãƒãƒƒã‚¯ã—ã¾ã™ã€‚- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
writeã€ã‚¯ãƒ©ã‚¹OutputStream- パラメータ:
buf- 書ãè¾¼ã¾ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚- é–¢é€£é …ç›®:
-
write
public void write(byte[] buf, int off, int len) throws IOException ãƒã‚¤ãƒˆé…列ã®ä¸€éƒ¨ã‚’書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- 定義:
writeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
writeã€ã‚¯ãƒ©ã‚¹OutputStream- パラメータ:
buf- 書ãè¾¼ã¾ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿off- データ内ã®é–‹å§‹ã‚ªãƒ•セットlen- 書ãè¾¼ã¾ã‚Œã‚‹ãƒã‚¤ãƒˆæ•°- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚ 特ã«ã€å‡ºåŠ›ã‚¹ãƒˆãƒªãƒ¼ãƒ ãŒé–‰ã˜ã‚‰ã‚Œã‚‹ã¨ã€IOExceptionãŒã‚¹ãƒãƒ¼ã•れる。IndexOutOfBoundsException-offãŒè² ã®å€¤ã®å ´åˆã€lenãŒè² ã®å€¤ã®å ´åˆã€ã‚ã‚‹ã„ã¯lenãŒb.length - offより大ãã„å ´åˆ
-
flush
public void flush() throws IOExceptionストリームをフラッシュã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ãƒãƒƒãƒ•ァリングã•れã¦ã„ã‚‹ã™ã¹ã¦ã®å‡ºåŠ›ãƒã‚¤ãƒˆã‚’書ã込んã§ã€ãƒ™ãƒ¼ã‚¹ã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ を通ã—ã¦ãƒ•ラッシュã—ã¾ã™ã€‚- 定義:
flushã€ã‚¤ãƒ³ã‚¿ãƒ•ェースFlushable- 定義:
flushã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
flushã€ã‚¯ãƒ©ã‚¹OutputStream- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚
-
drain
protected void drain() throws IOExceptionObjectOutputStream内ã®ãƒãƒƒãƒ•ァリングã•れã¦ã„るデータをã™ã¹ã¦æŽ’出ã—ã¾ã™ã€‚ フラッシュã¨ä¼¼ã¦ã„ã¾ã™ãŒã€ãƒ™ãƒ¼ã‚¹ã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã‚’ä¼æ’ã—ã¾ã›ã‚“。- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
close
public void close() throws IOExceptionストリームを閉ã˜ã¾ã™ã€‚ ストリームã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’解放ã™ã‚‹ãŸã‚ã«ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™å¿…è¦ãŒã‚りã¾ã™ã€‚- 定義:
closeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースAutoCloseable- 定義:
closeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースCloseable- 定義:
closeã€ã‚¤ãƒ³ã‚¿ãƒ•ェースObjectOutput- オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰:
closeã€ã‚¯ãƒ©ã‚¹OutputStream- スãƒãƒ¼:
IOException- 入出力エラーãŒç™ºç”Ÿã—ãŸå ´åˆã€‚
-
writeBoolean
public void writeBoolean(boolean val) throws IOException booleanを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeBooleanã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹boolean- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeByte
public void writeByte(int val) throws IOException 8ビットbyteを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeByteã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹ãƒã‚¤ãƒˆå€¤- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeShort
public void writeShort(int val) throws IOException 16ビットshortを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeShortã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹short値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeChar
public void writeChar(int val) throws IOException 16ビットcharを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeCharã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹char値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeInt
public void writeInt(int val) throws IOException 32ビットintを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeIntã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹int値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeLong
public void writeLong(long val) throws IOException 64ビットã®longを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeLongã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹long値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeFloat
public void writeFloat(float val) throws IOException 32ビットfloatを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeFloatã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹float値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeDouble
public void writeDouble(double val) throws IOException 64ビットdoubleを書ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeDoubleã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
val- 書ãè¾¼ã¾ã‚Œã‚‹double値- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeBytes
public void writeBytes(String str) throws IOException Stringã‚’ãƒã‚¤ãƒˆã®åˆ—ã¨ã—ã¦æ›¸ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeBytesã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
str- 書ãè¾¼ã¾ã‚Œã‚‹ãƒã‚¤ãƒˆã®æ–‡å—列- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeChars
public void writeChars(String str) throws IOException Stringã‚’charã®åˆ—ã¨ã—ã¦æ›¸ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeCharsã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
str- 書ãè¾¼ã¾ã‚Œã‚‹charã®æ–‡å—列- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-
writeUTF
public void writeUTF(String str) throws IOException ã“ã®Stringã®ãƒ—リミティブ・データを修æ£UTF-8å½¢å¼ã§æ›¸ãè¾¼ã¿ã¾ã™ã€‚ ストリームã«Stringをプリミティブ・データã¨ã—ã¦æ›¸ã込むã“ã¨ã¨ã€Objectã¨ã—ã¦æ›¸ã込むã“ã¨ã«ã¯å¤§ããªé•ã„ãŒã‚りã¾ã™ã€‚ writeObjectã«ã‚ˆã£ã¦æ›¸ãè¾¼ã¾ã‚Œã‚‹Stringã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€æœ€åˆã¯Stringã¨ã—ã¦ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ ãれ以é™ã®writeObject()ã®å‘¼å‡ºã—ã¯ã€æ–‡å—列ã¸ã®å‚ç…§ã‚’ã‚¹ãƒˆãƒªãƒ¼ãƒ ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚- 定義:
writeUTFã€ã‚¤ãƒ³ã‚¿ãƒ•ェースDataOutput- パラメータ:
str- 書ãè¾¼ã¾ã‚Œã‚‹æ–‡å—列- スãƒãƒ¼:
IOException- ベースã¨ãªã‚‹ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æ›¸è¾¼ã¿ä¸ã«å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ
-