当我用Java编写新的文本文件时,我在文件的开头得到这些字符:
¨Ìt
这是代码:
public static void writeMAP(String filename, Object object) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filename));
oos.writeObject(object);
oos.close();
}
感谢
答案 0 :(得分:4)
ObjectOutputStreams not 用于编写“文本文件”。它们专门用于将Java对象的中间表示写入磁盘。此过程称为序列化。
您最有可能想要使用Writer,这对于制作人类可读的文本文件更有用。特别是,您应该查看FileWriter和/或PrintWriter。
答案 1 :(得分:3)
使用ObjectOutputStream
时,您可以对对象进行二进制序列化。您根本不应将该文件视为“文本文件”。
如果要以人类可读的方式序列化对象,请使用java.beans.XMLEncoder
。阅读关于如何使用它的链接文档,方式与ObjectOutputStream
类似。它产生XML。
答案 2 :(得分:3)
Writer output = null;
String text = "Www.criandcric.com. is my site";
File file = new File("write.txt");
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();
我希望有了这个你可以知道如何做到这一点。
答案 3 :(得分:2)
您不是在文件中写入文本,而是在向其写入对象,这意味着您将获得流标题,类型信息和内部结构。要编写文本,请使用Writer:
Writer w = new OutputStreamWriter(new FileOutputStream(filename), encoding);