计算机存储的单位是二进制字节,从程序写入到持久设备中是编码,从持久设备读取到程序中是解码。
不论编码还是解码,不同的字符集对相同字符的编码可能不一样,可以使用OutputStreamWriter设定输出字符所使用的字符集。
如果不指定字符集,程序将使用平台默认的字符编码。
常用方法 | 描述 |
---|---|
OutputStreamWriter(OutputStream out, String charsetName) | 构造方法,传入OutputStream对象,创建一个使用命名字符集charsetName的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out) | 构造方法,传入OutputStream对象,创建一个使用默认字符集的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, Charset cs) | 构造方法,传入OutputStream对象,创建一个使用给定字符集cs的OutputStreamWriter。 |
OutputStreamWriter(OutputStream out, CharsetEncoder enc) | 构造方法,传入OutputStream对象,创建一个使用给定字符集编码器enc的OutputStreamWriter。 |
String getEncoding() | 获取流使用的字符集 |
void write(int c) | 写入一个字符到缓冲区,传入字符的编码值 |
void write(char cbuf[], int off, int len) | 将cbuf[off]到cbuf[off+len-1]的字符写入到缓冲区 |
void write(String str, int off, int len) | 将str[off]到str[off+len-1]的字符写入到缓冲区 |
void flush() | 将缓冲区内的数据写入到外界设备(磁盘等),刷新缓冲区 |
void close() | 关闭流,刷新缓冲区,释放相关资源 |
public static void main(String[] args) throws Exception{
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("D:\\a.txt"));
outputStreamWriter.write(12335);
outputStreamWriter.write('\n');
outputStreamWriter.write("12335");
outputStreamWriter.close();
}
父类:Writer
子类:FileWriter
常见IO流:InputStream、OutputStream、Reader