有关对象流写入读取文件的一个细节
2015-03-16 13:44
197 查看
在写日志系统的时候,出于导入数据库比较方便的考虑,所以就想把用户的操作都封装在一个对象里面,然后把整个对象写到文件里面去。需要导入数据库时,再从文件中读取出对象信息,把对象写入数据库。测试的时候,对象写入文件和从文件读取对象是放在了不同的项目里,也就是说我在一个项目里执行写入操作,在另外一个项目执行读取操作。读取的项目里面的对象类是从写入操作项目里复制粘贴的。然后问题就来了,写入文件正确执行,文件里已经存在了写入的信息,但是读取文件的时候抛了异常,是classnotfoundexception,开始我还以为是类不一致导致的,经过仔细的检查,发现两个类都是一模一样的。最后看到控制台输出的信息,发现提示是找不到我那个写入的项目的xx包下的对象类,但我读取的项目里并没有xx包,于是我试着在读取的项目下新建xx包,把对象类放在xx包下,运行后结果就可以了。
结论:当用writeobject把对象写入文件的时候,应该会把对象类所在的package的信息也写入到文件中,所以当一个项目需要读取另外一个项目写入的对象文件的数据时,需要在本项目里新建和写入项目对应的xx包,并把对象类放在这个xx包下面,这样的说项目就可以正常读取,否则就会抛出classnotfoundexception。
结论:当用writeobject把对象写入文件的时候,应该会把对象类所在的package的信息也写入到文件中,所以当一个项目需要读取另外一个项目写入的对象文件的数据时,需要在本项目里新建和写入项目对应的xx包,并把对象类放在这个xx包下面,这样的说项目就可以正常读取,否则就会抛出classnotfoundexception。
相关文章推荐
- 如何从内核模式设备驱动程序中打开一个文件以及如何读取或写入文件
- C语言文件的读写操作,每次读取1K,然后写入另外一个文件
- 同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
- C# StreamWriter写入一个ini文件到本地,StreamReader读取保存在本地的ini文件内容
- 设计一个学生类,其中包含学号、姓名、成绩等数据成员,创建学生对象并且倒入到文件file.txt,然后由文件读取到另一个学生对象并输出,试编程实现。
- 关于android 将对象写入文件以及从文件读取对象
- winform中 如何读取Excel文件,之后再把它写入一个新的Excel文件
- 同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
- 同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
- 通过codehaus来实现json写入文件和读取文件成json对象
- [分享][原创] C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- 转载:读取一个文本文件并把文件中的文本保存在一个CString对象中,如何能做到
- 如何从内核模式设备驱动程序中打开一个文件以及如何读取或写入文件(来自微软官网)
- 同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
- 同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
- C#序列化/反序列化对象.将对象写入文件,从文件读取对象.
- Unix环境写入文件时,要注意的一个小细节,要不任何情况都有可能发生
- 一个经过改良的XMLHelper(包含了序列化,反序列化,创建xml文件,读取节点,C#对象与xml文件的相互转换等等。)
- 对文件读取以及写入的一个小例子
- 自己编写的一个程序:读取XML格式的日志文件,并以一定的数据写入数据库中