【Java IO流】OutputStream和Writer

OutputStream & Writer

  • OutputStream ** 和 Writer ** 是所有输出流的基类。
  • **OutputStream **
    • void write(int b/int c)
    • void write(byte[] b/char[] cbuf)
    • void write(byte[] b/char[] buff, int off, int len)
    • void close() 需要先刷新,再关闭此流
  • 因为字符流直接以字符作为操作单位,所以 Writer 可以用字符串来替换字符数组, 即以 String 对象作为参数
    • void write(String str);
    • void write(String str, int off, int len);
  • FileOutputStream 从文件系统中的某个文件中获得输出字节。FileOutputStream 用于写出非文本数据之类的原始字节流。要写出字符流,需要使用 FileWriter

OutputStream

void write(int b)

  • 将指定的字节写入此输出流。write 的常规协定是:向输出流写入一个字节。要写 入的字节是参数 b 的八个低位。b 的 24 个高位将被忽略。 即写入0~255范围的

void write(byte[] b)

  • 将 b.length 个字节从指定的 byte 数组写入此输出流。write(b) 的常规协定是:应该 与调用 write(b, 0, b.length) 的效果完全相同

void write(byte[] b,int off,int len)

  • 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。

public void flush()throws IOException

  • 刷新此输出流并强制写出所有缓冲的输出字节,调用此方法指示应将这些字节立 即写入它们预期的目标

public void close() throws IOException

  • 关闭此输出流并释放与该流关联的所有系统资源。

Writer

void write(int c)

  • 写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。 即 写入0 到 65535 之间的Unicode码

void write(char[] cbuf)

  • 写入字符数组。

void write(char[] cbuf,int off,int len)

  • 写入字符数组的某一部分。从off开始,写入len个字符

void write(String str)

  • 写入字符串

void write(String str,int off,int len)

  • 写入字符串的某一部分。

void flush()

  • 刷新该流的缓冲,则立即将它们写入预期目标。

public void close() throws IOException

  • 关闭此输出流并释放与该流关联的所有系统资源。

你可能感兴趣的:(Java,IO流,java)