java - 在JAVA(Eclipse)中序列化文件时如何将编码设置为UTF8

标签 java file serialization encoding binary

我尝试通过序列化(“例如object.out”)写入Java中的文件,但无法正常读取。相反,它向我展示了这样的东西 ��

我尝试将首选项编码设置为 UTF-8

public void serijalizujufajl() {
    try(FileOutputStream fos = new FileOutputStream("osobe.out");

        BufferedOutputStream bos = new BufferedOutputStream(fos);
        ObjectOutputStream oos = new ObjectOutputStream(bos)){
        for (int j = 0; j <osobe.size(); j++) {
            oos.writeObject(osobe.get(j));

        }oos.close();
    } catch (Exception e) {
        System.out.println("error");
    }
}

screenshot or Eclipse

最佳答案

ObjectOutputStream 不适合人类使用。对于使用 ObjectOutputStream 写入的数据,唯一要做的就是使用 ObjectInputStream 将其读回。 Java 中还有许多其他技术可以编写数据供人类读取或与其他系统交换。对象流格式已经使用 Unicode 作为其表示的一部分,您不需要配置它。

关于java - 在JAVA(Eclipse)中序列化文件时如何将编码设置为UTF8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56926828/

相关文章:

python - 在Apache Beam转换中将Elasticsearch客户端对象设置为实例变量会导致Python中的序列化错误

java - PostgreSQL pg_stat_activity 被 "SET extra_float_digits = 3"查询填满,导致调用 Driver#connect 时出错

java - 更改网格布局中某个 Pane 的颜色

java - Java Swing 客户端使用 Web 服务的最简单方法是什么?

android - 使用InputStream和Scanner android从.txt文件读取数据

django - Django FileResponse Save 后停止旋转器

java - 在viewpager View 中保存按钮值

linux - 在 Linux/Unix 文件系统上将可执行文件挂载为文件

xml - 如何强制 Jackson 关闭一个空的 XML 元素?

c# - 我如何判断一个类是否可以序列化?