public static void writeIntoFile() {
FileOutputStream fileOutputStream = null;
ObjectOutputStream objectOutputStream = null;
try {
fileOutputStream = new FileOutputStream("Employee.txt");
objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(list1);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileOutputStream == null) {
System.out.println("file is not created");
}
if (objectOutputStream == null) {
System.out.println("cant able to write");
}
}
}
我想使用此功能写入文件。它成功写入,但它以字节码显示数据。如何将其保存为字符串格式?
答案 0 :(得分:3)
使用FileWriter
内的BufferedWriter
将字符数据写入File
。
ObjectOutputStream
用于序列化并生成二进制编码文件。它只有在您只想通过程序加载文件并且不希望在外部编辑器中读取其他内容时才有用。
您还需要遍历List
并以您希望稍后解析Object
的格式保存基础File
的必备属性。例如,作为CSV (逗号分隔值)每个Employee
对象及其属性将作为输出文件中的一行保留。
BufferedWriter br = new BufferedWriter(new FileWriter("Employee.csv"));
for (Employee employee : list) {
br.write(employee.getFName() + ", " + employee.getLName());
br.newLine();
}
br.close();
答案 1 :(得分:0)
是将序列化对象写入文件
你应该使用对象的toString()将String写入文件
答案 2 :(得分:0)
您可以使用一种简单的方法将字节码更改为字符串。 将字节码传递给字符串构造函数 像这样:
new String(bytecode object);
然后将字符串对象写入文件。