Java写入文件不可恢复的sumbols
这是我的方法,他创建了新对象“predmet”。类“AddNewObject”返回我的predmet类型(名称、描述)
AddNewPredmet addnewpredmet = new AddNewPredmet();
listPredmet.add(AddNewPredmet.AddPredmet());
StorageInFile.savePredmet(listPredmet);
一切正常。但是我对写在文件中的结果有一个问题。输出文件中的符号不可读,如图所示-
¬н sr java.util.ArrayListxЃТ™Зaќ I sizexp w sr entity.PredmetїБц)Зя| L Descriptiont Ljava/lang/String;L PNameq ~ xpt testt testx
以下是写入文件的函数
public class StorageInFile {
static void savePredmet(List<Predmet> listPredmet) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream("Predmet.txt");
oos = new ObjectOutputStream(fos);
oos.writeObject(listPredmet);
oos.flush();
oos.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(StorageInFile.class.getName())
.log(Level.SEVERE, "Нет такого файла", ex);
} catch (IOException ex) {
Logger.getLogger(StorageInFile.class.getName())
.log(Level.SEVERE, "Не могу записать", ex);
}
}}
我怎样才能解决这个问题?我考虑了方法toString(),但我无法将此方法添加到此代码中
# 1 楼答案
尝试使用缓冲写入程序并使用支持UTF-8的查看器查看文件。您正在尝试使用假定为单字节编码的工具,例如Windows-125x编码。记事本就是这种工具的一个例子。因此,使用功能强大的查看器,您可以查看它
此外,它还将有助于显示文件中的内容
# 2 楼答案
如果希望打印列表中每个PreMet实例的内容<&燃气轮机;那么你可以试试下面的方法
请尝试将以下代码段写入文件