ObjectOutputStream 用writeObject输出文本是乱码
发布网友
发布时间:2022-04-30 23:29
我来回答
共3个回答
热心网友
时间:2022-06-20 10:30
那并非乱码。
ObjectOutputStream.writeObject()的作用是把一个实例的对象以文件的形式保存到磁盘上,这个过程就叫Java对象的持久化。
而这个文件是以二进制的形式编写的,当你用文本编辑器将它打开,这些二进制代码与某个字符集映射之后,显示出来的东西就成了乱码。
即使输出的是一个String的对象,也是以该String对象的二进制编码的形式输出,而不是输出String对象的内容。
热心网友
时间:2022-06-20 10:31
一般可以用toString 方法 还可以强转化为其它的对象
以上谁的高论太可笑了,我想他肯定没试过.
writeObject(Object obj)方法,要是对象没有实现Serializable根本不让你写进去,马上抛出异常,
writeObject(Object obj)写入的文件是以二进制文件存储的,所以会乱码,就一句话的事情!
热心网友
时间:2022-06-20 10:31
你输出的Object 对象 当然是乱马啊 你可以跟据你的需要进行转化 一般可以用toString 方法 还可以强转化为其它的对象
ObjectOutputStream 用writeObject输出文本是乱码
那并非乱码。ObjectOutputStream.writeObject()的作用是把一个实例的对象以文件的形式保存到磁盘上,这个过程就叫Java对象的持久化。而这个文件是以二进制的形式编写的,当你用文本编辑器将它打开,这些二进制代码与某个字符集映射之后,显示出来的东西就成了乱码。即使输出的是一个String的对象,也是以该Str...
请教ObjectOutputStream输出乱码问题
writeObject写到文件里的是String类的序列化内容,当然不能正确查看了,写字符串用PrintStream比较好。而且输出“\n”和“\r\n”都不是很好的方法,因为不同的平台回车符是不一样,如下解决跨平台问题的换行:PrintStream file = new PrintStream(new FileOutputStream("c:\\cc.txt"));file.println("...
java ObjectOutputStream 输出的tst内容为何是乱码?
Reader和Writer是字符流的读取和写入。2.每一个顶层类都有缓冲类 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 3.每一个顶层类都有对目录文件(File)的支持:FileInputStream FileOutputStream FileReader FileWriter 4装饰器基类 FilterInputStream FilterOutputStream 其子类则在其基础...
什么是writeObject 和readObject?可定制的序列化过程
尝试着翻译一下,原文是What are writeObject and readObject? Customizing the serialization process.在Java中使用Serialization相当简单。如果你有一些对象想要进行序列化,你只需实现Serializable接口。然后,你可以使用ObjectOutputStream将该对象保存至文件或发送到其他主机。所有的non-transient和non-static字段...
ObjectOutputStream对象方法writeObject()?
因为ObjectOutputStream把对象student是按照binary的方式存储到文件中的,你把两进制文件当text文件打开,自然看到的都是乱七八糟的东西。用 ObjectInputStream读入student,stream 知道如何把binary 数据恢复成student对象,自然显示就正常了。
objectOutputStream对象的writeObject()方法的疑惑
ObjectOutputStream oos = new ObjectOutputStream(new FileOuputStream("文件地址"), true);这样的话..你写对象就是加在原来的后面..如果没有加那个true的话..默认就是会覆盖的..明白楼主的意思了。。楼主是想替换或者说是修改你想修改的对象。。这个你需要写个继承自ObjectOutputStream的类。。
为什么以下程序在1.TXT中输出的是乱码 要怎么该呢
为什么以下程序在1.TXT中输出的是乱码 要怎么该呢 packageyy;importjava.io.*;classTest{publicstaticvoidmain(String[]args)throwsException{FileOutputStreamfos=newFileOutputStream("1.txt");ObjectOutputStreamoos=newObjectOutp... package yy;import java.io.*;class Test{ public static void main(String[...
怎么用ObjectOutputStream
你的Address类要实现Serializable 这个接口,否则不能保存。而且不不用保存数组,直接保存ArrayList就可以了,public static void saveObjects(ArrayList listData, String fileName) { FileOutputStream os = new FileOutputStream("fileName.dat");ObjectOutputStream oos = new ObjectOutputStream(os);oos...
关于ObjectOutputStream文件写入问题。。。
该对象首先要可序列化,然后把多个对象存储到容器里,如ArrayList<?> list;然后把list序列化存储,读出来就是一串对象了~~
ObjectOutputStream类的writeObject()方法是不是同步的,不是的话要怎 ...
在方法上添加一个关键字:synchronized 比如:public synchronized void fun(){ ... }