可能的替代文件和对象流使用?

时间:2017-02-07 17:14:54

标签: java

我必须改进严重实现的应用程序的代码。一点是
更改保存文件的写入和读取方式。这是
实际输出代码如下所示的简化版本:




  BufferedWriter writer = new BufferedWriter(new FileWriter(path));& #xA; writer.write(foo.getThis()+“\ t”+ Integer.toString(foo.getThat())+“\ n”);
 writer.write(bar.getSomething()+“ \ n“);
 writer.close();
  




实际代码更复杂,使用带有已定义字符串的行作为“section
 dividers”,它有助于写入/读取具有可变大小的容器。所有这些都是
单个spagetti。
输入通过每行读取文件并拆分(“\ t”),trim()和其他
处理以便将项目输入到相应的类构造函数。





为了改进这一点,我想使用Serializable接口。因为
一次更改所有类太多了,我倾向于按类重构它。
这将导致一个临时输出文件格式混合String和Object输出。
我想象的一个输出示例:




 文件f =新文件(路径);
 FileOutputStream fos = new FileOutputStream(f);& #xA; ObjectOutputStream oos = new ObjectOutputStream(f);
 oos.writeObject(foo);
 String barString = new String(bar.getSomething()+“\ n”);
 fos .write(barString.getBytes());
 oos.close();
  




是否可以使用这两个以这种相互交换的方式流?





还有其他首选的方法来支持重构吗?




0 个答案:

没有答案