FileOutputStream设置编码,并将字节写入文件

问题描述

我有一个csv文件,我使用utf-8编码将其保存,如下所示: reference

FileOutputStream fileOut =fileOut = new FileOutputStream(file,true);
       
/*utf-8 setting*/
fileOut.write(0xef);
fileOut.write(0xbb);
fileOut.write(0xbf);

 /*append another string*/
 PrintWriter printWriter = new PrintWriter(fileOut);
 printWriter.write(...);
    

我将字符串写入文件,并且可以使用UTF-8编码正常工作。

我的问题是:

  1. 有人知道这是什么字节吗?
  2. 如何将其更改为另一种编码,例如cp1256
  3. 是提供所有编码的列表吗?

更新: 假设我保存了在分页中创建的巨大字符串数据,并且无法一次存储此大小的数据。

谢谢

解决方法

为什么不使用Apache Commons中的FileUtils? 这将使您的生活更加轻松。 ;-)

而且,如果您想隐藏内容,请在这里查看:Encoding conversion in java

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>