Java ObjectOutputStream writeBytes()方法与示例

ObjectOutputStream类writeBytes()方法 (ObjectOutputStream Class writeBytes() method)

  • writeBytes() method is available in java.io package.

    writeBytes()方法在java.io包中可用。

  • writeBytes() method is used to write the given string as a sequence of bytes.

    writeBytes()方法用于将给定的字符串作为字节序列写入。

  • writeBytes() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    writeBytes()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • writeBytes() method may throw an exception at the time of writing bytes.

    writeBytes()方法在写入字节时可能会引发异常。

    IOException: This exception may throw when getting any input/output error while writing to the output stream.

    IOException :在写入输出流时遇到任何输入/输出错误时,可能引发此异常。

Syntax:

句法:

    public void writeBytes(String s);

Parameter(s):

参数:

  • String s – represents the string to be written.

    字符串s –表示要写入的字符串。

Return value:

返回值:

The return type of the method is void, it returns nothing.

该方法的返回类型为void ,不返回任何内容。

Example:

例:

// Java program to demonstrate the example 
// of void writeBytes(String s) method of
// ObjectOutputStream

import java.io.*;

public class WriteBytesOfOOS {
 public static void main(String[] args) throws Exception {
  // Instantiates ObjectOutputStream , ObjectInputStream 
  // FileInputStream and FileOutputStream
  FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt");
  ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm);
  FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt");
  ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);

  // By using writeBytes() method is to
  // write the bytes to the stream		
  obj_out_stm.writeBytes("Java");

  obj_out_stm.flush();


  // By using readByte() method is to 
  // read the byte and convert it into
  // char
  for (int i = 0; i < 4; ++i) {
   char ch = (char) obj_in_stm.readByte();
   System.out.println("obj_in_stm.readByte(): " + ch);
  }

  // By using close() method is to 
  // close all the streams 
  System.out.println("Stream Shutdown... ");

  file_in_stm.close();
  file_out_stm.close();
  obj_in_stm.close();
  obj_out_stm.close();
 }
}

Output

输出量

obj_in_stm.readByte(): J
obj_in_stm.readByte(): a
obj_in_stm.readByte(): v
obj_in_stm.readByte(): a
Stream Shutdown... 


翻译自: https://www.includehelp.com/java/objectoutputstream-writebytes-method-with-example.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java ObjectOutputSteam 是一个用于将 Java 对象序列化为字节流的类。它提供了一种将 Java 对象转换为字节流的方法,以便在网络上传输或保存到文件中。使用 ObjectOutputSteam,可以将 Java 对象写入到输出流中,然后在需要时将其读取回来。这个类还提供了一些方法来控制对象序列化的方式,例如指定对象的版本号、是否允许写入 null 值等。总之,Java ObjectOutputSteam 是一个非常有用的类,可以帮助开发人员轻松地将 Java 对象序列化为字节流。 ### 回答2: Java ObjectOuputStream(对象输出流)是Java中用于将对象以字节方式写入输出流的类。 使用ObjectOuputStream的流程如下: 1. 创建一个文件输出流或网络输出流对象,用于将对象写入文件或发送给其他计算机。 2. 根据创建的输出流对象,创建一个ObjectOutputSteam对象。 3. 使用ObjectOutputStreamwriteObject()方法将需要写入的对象(必须实现Serializable接口)写入输出流。 例子如下: ```java try { // 创建文件输出流 FileOutputStream fileOutputStream = new FileOutputStream("output.txt"); // 创建ObjectOutputStream对象 ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); // 创建一个对象 MyObject myObject = new MyObject(); // 将对象写入输出流 objectOutputStream.writeObject(myObject); // 关闭输出流 objectOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } ``` 需要注意的是,写入的对象必须实现Serializable接口,否则会抛出NotSerializableException异常。Serializable接口是一个标记接口,没有任何方法定义,仅表示该类可以被序列化。 另外,ObjectOutputStream还提供了其他一些方法,如writeInt(),writeDouble()等,用于按照特定的类型写入数据。 使用ObjectOuputStream可以方便地将Java对象序列化并写入输出流,非常适合在Java程序之间进行对象的传输或存储。 ### 回答3: JavaObjectOutputStream是一个用于将对象序列化为字节流的类。以下是关于如何使用ObjectOutputStream的一些基本使用方式和注意事项: 1. 创建ObjectOutputStream对象:可以通过将其构造函数与FileOutputStream(或其他OutputStream)的实例进行连接来创建ObjectOutputStream对象。示例代码如下: ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("output.txt")); 2. 写入对象:使用ObjectOutputStreamwriteObject()方法可以将对象写入输出流中。需要注意的是,写入的对象必须实现java.io.Serializable接口,否则将抛出NotSerializableException异常。示例代码如下: MyClass myObj = new MyClass(); oos.writeObject(myObj); 3. 刷新和关闭流:在写入完所有对象后,可以使用flush()方法刷新缓冲区,确保所有字节都已写入。最后,调用close()方法关闭流。示例代码如下: oos.flush(); oos.close(); 4. 读取对象:要从ObjectOutputStream读取对象,需要使用ObjectInputStream。首先,使用FileInputStream(或其他InputStream)创建ObjectInputStream对象。然后,使用ObjectInputStream的readObject()方法读取对象。示例代码如下: ObjectInputStream ois = new ObjectInputStream(new FileInputStream("output.txt")); MyClass myObj = (MyClass) ois.readObject(); 5. 异常处理:在使用ObjectOutputStream时,需要注意处理可能发生的IOException和ClassNotFoundException异常。这些异常可以通过try-catch语句进行处理,确保程序正常运行并避免意外错误。 ObjectOutputStreamJava中用于序列化对象的强大工具。它可以将对象转换为字节流,以便在网络上进行传输或将对象保存到文件中。但是要注意的是,被序列化的对象必须实现Serializable接口,并且需要特别注意对象的序列化和反序列化版本一致,以免导致不兼容的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值